小编Tom*_*Tom的帖子

使用Python脚本创建MySQLdb数据库

我在创建数据库和表时遇到了麻烦.需要在Python脚本中创建数据库.

#connect method has 4 parameters:
#localhost (where mysql db is located), 
#database user name, 
#account password, 
#database name    
db1 = MS.connect(host="localhost",user="root",passwd="****",db="test")
Run Code Online (Sandbox Code Playgroud)

回报

_mysql_exceptions.OperationalError: (1049, "Unknown database 'test'")
Run Code Online (Sandbox Code Playgroud)

很明显,首先需要创建db1,但是如何?我在connect()语句之前尝试过CREATE但是出错了.

创建数据库后,如何创建表?谢谢,汤姆

这是语法,这至少是第一次使用.第二次自然返回db已经存在.现在来弄清楚如何正确使用drop命令.

   db = MS.connect(host="localhost",user="root",passwd="****")
   db1 = db.cursor()
   db1.execute('CREATE DATABASE test1')
Run Code Online (Sandbox Code Playgroud)

所以第一次这很好用.第二次通过提供警告"db已存在".怎么处理这个?以下是我认为它应该如何工作,但事实并非如此.或者它应该是if语句,寻找它是否已经存在,不填充?

import warnings
warnings.filterwarnings("ignore", "test1")
Run Code Online (Sandbox Code Playgroud)

python mysql-python

14
推荐指数
3
解决办法
6万
查看次数

如果不存在,则创建表是否可以在MySQLdb中工作?句法?

我创建了一个表“ table2”,并在运行代码时收到警告(表已存在)。我只想创建不存在的表。一些研究MySQL语法的网站在MySQL中提供了以下内容:如果不存在则创建表

我的代码:

cursor.execute('CREATE TABLE IF NOT EXISTS (2 INT)`table2`')
Run Code Online (Sandbox Code Playgroud)

提供以下警告:

_mysql_exceptions.ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(2 INT)`table2`' at line 1")
Run Code Online (Sandbox Code Playgroud)

我有数据库版本数据库版本:5.1.54-1ubuntu4汤姆

python mysql-python

4
推荐指数
2
解决办法
1万
查看次数

标签 统计

mysql-python ×2

python ×2