Python MySQL事务执行
Python MySQL事务执行
- 执行事务
- 事务确保数据库的数据一致性。我们必须确保多个应用程序在执行数据库操作时不得修改记录。
- 事务具有以下属性
- 原子性
- 事务完成或没有任何反应。如果事务包含4个查询,则必须执行所有这些查询,否则不能执行任何查询
- 一致性
- 数据库必须在事务启动之前保持一致,并且数据库在事务完成后也必须保持一致
- 隔离性
- 事务的中间结果在当前事务之外是不可见的。
- 持久性
- 旦提交了事务,即使系统出现故障,影响也会持续存在
- **Python commit() **方法
- Python提供了commit() 方法,该方法确保对数据库进行数据库、表、表中数据的更改数据库始终如一
- 语法:
conn_object.commit() # conn_object是连接对象
- 在调用commit() 之前,不会进行对修改数据库记录的所有操作
- Python rollback() 方法
-
rollback() 方法用于还原对数据库所做的更改。此方法很有用,如果在数据库操作期间发生某些错误,我们可以回滚该事务以维护数据库一致性。
-
语法:
conn_object.rollback() # conn_object是连接对象
- 关闭连接
- 完成有关数据库的所有操作后,我们需要关闭数据库连接。Python提供了 close() 方法。
- 语法:
conn_object.close() # conn_object是连接对象
- 实例:我们将删除所有为CS部门工作的员工
import mysql.connector
myconn = mysql.connector.connect(host="192.168.126.20", user="root", passwd="mysql", database="PythonDB")
cur = myconn.cursor()
try:
cur.execute("delete from Employee where Dept_id = 201")
myconn.commit()
print("Deleted !")
except:
print("Can't delete !")
myconn.rollback()
myconn.close()
- 输出
Deleted !

浙公网安备 33010602011771号