Python MySQL事务执行

Python MySQL事务执行

  1. 执行事务
  • 事务确保数据库的数据一致性。我们必须确保多个应用程序在执行数据库操作时不得修改记录。
  1. 事务具有以下属性
  • 原子性
    • 事务完成或没有任何反应。如果事务包含4个查询,则必须执行所有这些查询,否则不能执行任何查询
  • 一致性
    • 数据库必须在事务启动之前保持一致,并且数据库在事务完成后也必须保持一致
  • 隔离性
    • 事务的中间结果在当前事务之外是不可见的。
  • 持久性
    • 旦提交了事务,即使系统出现故障,影响也会持续存在
  1. **Python commit() **方法
  • Python提供了commit() 方法,该方法确保对数据库进行数据库表中数据的更改数据库始终如一
  • 语法:
conn_object.commit()   # conn_object是连接对象
  • 在调用commit() 之前,不会进行对修改数据库记录的所有操作
  1. Python rollback() 方法
  • rollback() 方法用于还原对数据库所做的更改。此方法很有用,如果在数据库操作期间发生某些错误,我们可以回滚该事务以维护数据库一致性。

  • 语法:

conn_object.rollback()      # conn_object是连接对象
  1. 关闭连接
  • 完成有关数据库的所有操作后,我们需要关闭数据库连接。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 !
posted @ 2021-05-21 11:16  廿九九  阅读(291)  评论(0)    收藏  举报