Python MySQL执行事务

Python MySQL执行事务

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

  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() 

在下面的示例中,我们正在删除所有在计算机科学系工作的员工。

示例

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 !

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程