Python使用Mysql官方驱动(取出dict类型的数据)

简介

虽然Python有很多连接mysql的库,比如mysqldb, pymysql~这些都很方便,现在就教大家使用mysql的官方库来操作mysql.

安装

windows: 下载链接

image.png

选择自己的windows版本和Python版本,下载msi文件后双击安装即可。
(如果在网站没找到msi版本的话,试下pip install mysql-connector-python)

mac os:

在终端运行:
pip3 install mysql-connector-python

image.png

使用

在写文章的时候,特意去看了一下官方给的参数配置,看到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)

效果图

image.png

原文地址:https://www.cnblogs.com/we8fans/p/8074918.html