简介
虽然Python有很多连接mysql的库,比如mysqldb, pymysql~这些都很方便,现在就教大家使用mysql的官方库来操作mysql.
安装
windows: 下载链接
选择自己的windows版本和Python版本,下载msi文件后双击安装即可。
(如果在网站没找到msi版本的话,试下pip install mysql-connector-python)
mac os:
在终端运行:
pip3 install mysql-connector-python
使用
在写文章的时候,特意去看了一下官方给的参数配置,看到passwd和password这种参数都能识别,因为官方为别的mysql库做了兼容,赞一个~~
接下来就展示demo了,不过没有做封装处理哦~
import mysql.connector as mysql
# 连接数据库, 此处可指定dbname, 但是因为需要关联到其他库的表,所以未填
conn = mysql.connect(host="127.0.0.1", port=3306, user="root", passwd="your_pwd")
# 获取游标
cursor = conn.cursor()
# 查询, 例如查询logistics.users表的所有信息
sql = "select * from users;"
cursor.execute(sql)
# 取出该查询语句返回的所有结果, 也有fetchone和fetchmany方法
cursor.fetchall()
# 删除
sql = "delete from logistics.users where username=%s"
cursor.execute(sql, params=("woody", )) # params参数为一个元祖, %s用于接收此参数
cursor.commit() # 增删改此种操作之后需要commit
# 关闭连接
cursor.close()
conn.close()
最近的小发现
因为需要比对redis里存储的json数据是否与sql数据一致,但是由于sql取出的数据是元祖类型,而且没有对应的字段名,所以很是头疼。
解决办法:
获取游标的时候添加一个参数!!!
cursor = conn.cursor(dictionary=True)