
正文
python pymysql连接数据库并创建表
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
之前看菜鸟教程
#!/usr/bin/python3import pymysql# 打开数据库连接
db = pymysql.connect("localhost","testuser","test123","TESTDB" )# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()# 使用 execute() 方法执行 SQL,如果表存在则删除
cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")# 使用预处理语句创建表
sql = """CREATE TABLE EMPLOYEE (
FIRST_NAME CHAR(20) NOT NULL,
LAST_NAME CHAR(20),
AGE INT,
SEX CHAR(1),
INCOME FLOAT )"""cursor.execute(sql)# 关闭数据库连接
db.close()
但是有报错
问题原因:
迁移服务后,可能是因为mysql版本或者pymysql的版本有变化,导致不能再这么简单的写了,传参规则变得规范了
解决办法:
主要就是将传参的参数名加上
最终代码:
#!/usr/bin/python3
import pymysql# 打开数据库连接
db = pymysql.connect(host="localhost", user="root", password="258000", database="yiqing",charset="utf8mb4")
#db = pymysql.connect(host="localhost", user="用户名", password="密码", database="数据库名",charset="utf8mb4")# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()# 使用 execute() 方法执行 SQL,如果表存在则删除
cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")# 使用预处理语句创建EMPLOYEE表
sql = """CREATE TABLE EMPLOYEE (
FIRST_NAME CHAR(20) NOT NULL,
LAST_NAME CHAR(20),
AGE INT,
SEX CHAR(1),
INCOME FLOAT )"""cursor.execute(sql)# 关闭数据库连接
db.close()
效果









