python小小白哟 发表于 2023-6-10 09:22:11

使用pymysql库连接mysql数据库

使用pymysql库连接数据库,代码如下:

import pymysql

db = pymysql.connect(host='xxx.xxx.xxx.xxx',user='xxxxxxxxxx',password='xxxxxxxxxx',port=3306)
cursor = db.cursor()
cursor.execute('select version()')

data = cursor.fetchone()
print('Database version:',data)

cursor.execute("CREATE DATABASE spiders DEFAULT CREATE CHARACTER SET utf8")

然后就报错了,HOST和USER以及password是正确的,已经用Navicat连接成功。

错误代码如下:

pymysql.err.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 'CREATE CHARACTER SET utf8' at line 1")

isdkz 发表于 2023-6-10 09:26:57

看起来这个错误源于您的SQL语句的语法问题,这条SQL语句:

CREATE DATABASE spiders DEFAULT CREATE CHARACTER SET utf8


似乎不正确。当创建一个新的数据库时,您可以指定它的默认字符集,正确的语法应该是:

CREATE DATABASE spiders DEFAULT CHARACTER SET utf8


所以,您的Python代码应该像这样修改:

import pymysql

db = pymysql.connect(host='xxx.xxx.xxx.xxx', user='xxxxxxxxxx', password='xxxxxxxxxx', port=3306)
cursor = db.cursor()
cursor.execute('select version()')

data = cursor.fetchone()
print('Database version:', data)

cursor.execute("CREATE DATABASE spiders DEFAULT CHARACTER SET utf8")


注意,在创建新的数据库之前,要确保MySQL用户有足够的权限。如果没有权限,这个操作可能会失败。
页: [1]
查看完整版本: 使用pymysql库连接mysql数据库