事务确保数据库的数据一致性。我们必须确保在执行数据库操作时,不允许多个应用程序修改记录。事务具有以下属性。

  1. 原子性 事务要么完成,要么不执行任何操作。如果一个事务包含4个查询,则必须执行所有这些查询,或者不执行任何一个。
  2. 一致性 事务在开始之前数据库必须保持一致,在事务完成后数据库也必须保持一致。
  3. 隔离性 事务的中间结果对当前事务之外的其他事务不可见。
  4. 持久性 一旦事务提交,效果就是持久的,即使在系统故障之后也是如此。

Python commit() 方法

Python 提供了 commit() 方法,该方法确保对数据库所做的更改以一致的方式进行。

使用 commit() 方法的语法如下。

conn.commit() #conn is the connection object  

所有修改数据库记录的操作在调用 commit() 方法之前都不会生效。

Python rollback() 方法

rollback() 方法用于撤消对数据库所做的更改。如果在数据库操作期间发生错误,此方法非常有用,我们可以回滚该事务以保持数据库的一致性。

使用 rollback() 的语法如下。

Conn.rollback()  

关闭连接

一旦完成数据库相关的所有操作,我们需要关闭数据库连接。Python 提供了 close() 方法。使用 close() 方法的语法如下。

conn.close()   

在以下示例中,我们正在删除所有属于 CS 部门工作的员工。

示例

import mysql.connector  
  
#Create the connection object   
myconn = mysql.connector.connect(host = "localhost", user = "root",passwd = "google",database = "PythonDB")  
  
#creating the cursor object  
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 !

标签: Tkinter教程, Tkinter安装, Tkinter库, Tkinter入门, Tkinter学习, Tkinter入门教程, Tkinter, Tkinter进阶, Tkinter指南, Tkinter学习指南, Tkinter进阶教程, Tkinter编程