python pymysql连接数据库并创建表

之前看菜鸟教程

#!/usr/bin/python3
 
import 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()

效果

 

posted @ 2021-03-28 08:27  我试试这个昵称好使不  阅读(1547)  评论(0编辑  收藏  举报