Python操作MySql
一 Python操作MySQL数据库
因为Python和MySQL是2套软件,所以在互相交互的时候需要一个“桥梁”。这个“桥梁”就是驱动!
-
mysqldb又叫MySQL-python
- 优点:基于C开发的库,速度快
- 缺点:在 Windows 平台安装非常不友好,经常出现失败的情况,多年不更新了,只兼容python2
-
mysqlclient
- 优点:基于C开发的库,速度快,兼容python3
- 缺点:编译安装可能会导致报各种错误
-
pymysql
- 优点:纯 Python 实现的驱动,兼容python3,使用简单
- 缺点:速度不如mysqldb
1.1 安装pymysql
pip install pymysql
1.2 python操作数据流程
1.3 pymysql模块中的函数
1.3.1 连接数据库函数
connect函数:连接数据库,根据连接的数据库类型不同,该函数的参数也不同。connect函数返回Connection对象。
import pymysql
#获取连接
con = pymysql.connect(host="localhost",port=330
6,user="root",password="root",db="test06",charset='utf8')
1.3.2 获取游标
cursor方法:获取操作数据库的Cursor对象,包含了很多操作数据的方法。cursor方法属于Connection对象。
#创建cursor
cursor = connection.cursor()
1.3.4 执行sql语句
- 执行单条sql语句
execute(query,args=None)
函数作用:执行单条的sql语句,执行成功后返回受影响的行数 参数说明:
query:要执行的sql语句,字符串类型
args:可选的序列或映射,用于query的参数值。如果args为序列,query中必须使用%s做
- 批量执行SQL语句
executemany(query,args=None)
函数作用:批量执行sql语句,比如批量插入数据,执行成功后返回受影响的行数
参数说明:
query:要执行的sql语句,字符串类型
args:嵌套的序列或映射,用于query的参数值
1.3.5 提交事务
commit方法:在修改数据库后,需要调用该方法提交对数据库的修改。
#提交事务
con.commit()
1.3.6 回滚
rollback方法:如果修改数据库失败,一般需要调用该方法进行数据库回滚,也就是将数据库恢复成修改之前的样子。
#如果出现异常,回滚
con.rollback()