Python 中如何使用 MySQLdb 模块进行事务处理
在 Python 中使用 MySQLdb 模块进行事务处理需要以下步骤:
- 导入 MySQLdb 模块
- 连接数据库
- 创建游标
- 开始事务
- 执行 SQL 语句
- 提交事务或回滚事务
- 关闭游标
- 断开数据库连接
代码演示:
import MySQLdb # 连接数据库 conn = MySQLdb.connect( host='localhost', port=3306, user='username', password='password', db='database' ) # 创建游标 cursor = conn.cursor() # 开始事务 try: # 提交前禁用自动提交模式 conn.autocommit(False) # 执行 SQL 语句 sql1 = "INSERT INTO users (name, email) VALUES ('pidancode', 'pidancode@gmail.com')" cursor.execute(sql1) sql2 = "UPDATE users SET email='pidancode@pidancode.com' WHERE name='pidancode'" cursor.execute(sql2) # 提交事务 conn.commit() print("事务提交成功!") except Exception as e: # 回滚事务 conn.rollback() print("事务提交失败:", e) # 关闭游标和数据库连接 cursor.close() conn.close()
在以上代码中,我们使用了 conn.autocommit(False)
来关闭自动提交模式。这意味着我们需要手动提交事务,否则所有的 SQL 语句都将被忽略。
在 try
块中,我们执行了两个 SQL 语句并且没有出错。因此,我们使用 conn.commit()
提交事务,并且打印出了事务提交成功的消息。
如果执行 SQL 语句出错,我们就需要回滚事务并且打印出错误消息。在 except
块中,我们使用 conn.rollback()
回滚事务,并且打印出了错误消息。
最后,我们关闭了游标和数据库连接。
相关文章