Python MySQL如何进行事务操作()

本文概述

  • Python commit()方法
  • Python rollback()方法
  • 断开连接
事务可确保数据库的数据一致性。我们必须确保执行数据库操作时多个应用程序一定不能修改记录。事务具有以下属性。
  1. 原子性
    事务完成或什么都没有发生。如果事务包含4个查询, 则必须执行所有这些查询, 或者都不执行任何查询。
  2. 一致性
    在事务开始之前数据库必须是一致的, 并且在事务完成之后数据库也必须是一致的。
  3. 隔离
    交易的中间结果在当前交易之外不可见。
  4. 耐用性
    提交事务后, 即使在系统故障后, 影响也将持久。
Python commit()方法Python提供了commit()方法, 以确保对
数据库持续发生。
下面给出了使用commit()方法的语法。
conn.commit() #conn is the connection object

【Python MySQL如何进行事务操作()】在调用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 objectcur = 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 !

    推荐阅读