操作MySQL数据库的py代码模板
import pymysql
db = pymysql.connect(
host='localhost',
port=3306,
user='ws',
password='123456',
database='mytest',
)
cursor = db.cursor()
# 填入代码
cursor.close()
db.close()
(1) pymysql.Connect()参数说明
host(str): MySQL服务器地址
port(int): MySQL服务器端口号
user(str): 用户名
password(str): 密码
db(str): 数据库名称
charset(str): 连接编码, 默认为”utf8”, 注意此处不能有杠
(2) connection对象支持的方法
cursor() 使用该连接创建并返回游标
commit() 提交当前事务
rollback() 回滚当前事务
close() 关闭连接
(3) cursor对象支持的方法
execute(sql, args) 执行一个数据库的命令, 返回记录数, 没找到返回0, 其它情况抛出异常
fetchone() 取得结果集的下一行
fetchmany(size) 获取结果集的下几行
fetchall() 获取结果集中的所有行
rowcount() 返回数据条数或影响行数
close() 关闭游标对象
1 查询
# 执行SQL语句
cursor.execute("select * from students;") # 此语句返回查询到的条数
# 获取查询结果
ret = cursor.fetchall() # 返回 元组里面套元组
for row in ret:
print(row)
2 增加
注: pymysql默认不会提交事务, 即默认开启了begin, 所以只要执行commit()就可以
sql = "insert classes(name) values('天地无极');"
try:
# 执行SQL语句
cursor.execute(sql)
# (添加,删除,修改后)要提交修改到数据库
db.commit()
except:
# 对修改的数据进行撤销
db.rollback()
3 修改
sql = "update classes set name='初出茅庐' where id=1;"
try:
# 执行SQL语句
cursor.execute(sql)
# (添加,删除,修改后)要提交修改到数据库
db.commit()
except:
# 对修改的数据进行撤销
db.rollback()
4 删除
sql = "delete from classes where id=4;"
try:
# 执行SQL语句
cursor.execute(sql)
# (添加,删除,修改后)要提交修改到数据库
db.commit()
except:
# 对修改的数据进行撤销
db.rollback()