一.PyMySQL模块
1.简介
PyMySQL是Python中用来操作MySQL数据库的一个第三方模块.
作用:在程序中利用SQL操作MySQL数据库,进行数据库的增,删,改,查操作.
2.模块使用方法
安装:pip install pymysql(在黑窗口使用)
使用流程:导入模块->创建连接->创建游标->执行SQL->关闭游标->关闭连接
①导入模块
import pymysql
②创建连接(创建connection连接)
conn =pymysql.connect(host,port,user,password,database,charset)
③创建游标(通过连接对象获取游标)
cursor = conn.cursor()
④执行SQL(这里需要使用游标执行SQL语句)
num = cursor.execute(sql)
⑤关闭游标
cursor.close()
⑥关闭连接
conn.close()
二.查询操作(示例)
# ① 导入模块
import pymysql
# ② 创建连接
conn = pymysql.connect(host='192.168.88.131', port=3306,
user='root', password='itcast',
database='test', charset='utf8')
# ③ 创建游标
cursor = conn.cursor()
# ④ 执行SQL
sql = 'select * from students'
num = cursor.execute(sql)
print(f'受影响的行数:{num}')
# ⑤ 关闭游标
cursor.close()
# ⑥ 关闭连接
conn.close()
cursor游标对象中有三个方法,用于获取SQL查询的结果:
①fetchall():获取查询的所有结果,返回值为tuple元组类型[嵌套元组]
②fetchone():每次获取查询结果中的一条记录,返回值为tuple元组类型[简单元组]
③fetchmany(num):每次获取查询结果的num条记录,返回值为tuole元组类型[嵌套元组]
三.增删改操作(示例)
# ① 导入模块
import pymysql
# ② 创建连接
conn = pymysql.connect(host='192.168.88.131', port=3306,
user='root', password='itcast',
database='test', charset='utf8')
# ③ 创建游标
cursor = conn.cursor()
# 开启事务
conn.begin()
# ④ 执行SQL
insert_sql = 'insert into students values("Tom", 25, "male", 2.9)'
cursor.execute(insert_sql)
select_sql = 'select * from students'
cursor.execute(select_sql)
# 获取查询的结果
res = cursor.fetchall()
print(res)
# 提交事务
conn.commit()
# ⑤ 关闭游标
cursor.close()
# ⑥ 关闭连接
conn.close()
注意事项:PyMySQL在对MySQL数据库进行操作时,当遇到非查询(增删改)操作时,自动开启一个默认事务,后续的SQL操作都在这个事务中,在操作完成之后,如果要结果生效,需要手动进行事务的commit提交,否则结果被撤销,即自动进行了事务的rollback操作.
事务相关操作:
conn.begin():开启一个事务
conn.commit():进行事务提交操作,事务操作结果永久生效
conn.rollback():进行事务回滚操作,事务操作结果