pymysql的安装
pip install pymysql
连接数据库
- 连接需要:数据库地址(本地就是localhost),用户名,密码,数据库名
db = pymysql.connect(host="地址", user="用户名", password="密码", database="数据库名", charset='编码')
,创建一个数据库连接对象cusor = db.cursor()
, 创建一个游标对象cursor.execute('sql语句')
, 使用SQL语句对数据库进行操作,包括增删查改,以及建表删表cursor.fetchone()
, 获取单条数据- cursor.close(),db.close(),在操作完毕后一定要关闭游标对象和连接对象
import pymysql db = pymysql.connect(host="localhost", user="root", password="123456", database="blog") cursor = db.cursor()
数据库查询操作
- fetchone(),只接受第一个返回行,有点像next()
- fetchall(),接受全部的返回结果行
执行事务
事务机制可以确保数据一致性。
事务应该具有4个属性:原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性。
原子性(atomicity)。一个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做。
一致性(consistency)。事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。
隔离性(isolation)。一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。
持久性(durability)。持续性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。
使用commit()和rollback()即可完成对事务的提交和回滚, 在Python数据库编程中,当游标建立之时,就自动开始了一个隐形的数据库事务。所以要想操作生效,需要执行commit()函数提交事务
# SQL删除记录语句 sql = "DELETE FROM EMPLOYEE WHERE AGE > %s" % (20) try: cursor.execute(sql) # 执行SQL语句 db.commit()# 向数据库提交 except: db.rollback()# 发生错误时回滚