在Python中,處理數據庫連接的事務管理通常涉及以下步驟:
sqlite3
庫;對于MySQL或PostgreSQL,您將使用pymysql
或psycopg2
庫。import sqlite3
sqlite3.connect()
函數創建一個連接對象。conn = sqlite3.connect('example.db')
cursor = conn.cursor()
execute()
方法執行SQL命令。在執行多個相關命令時,這些命令將整體進行提交或回滾。cursor.execute("INSERT INTO users (name, age) VALUES (?, ?)", ('Alice', 30))
cursor.execute("INSERT INTO orders (user_id, product) VALUES (?, ?)", (1, 'Laptop'))
commit()
方法提交事務。這將使更改永久保存到數據庫。conn.commit()
rollback()
方法回滾事務。這將撤銷所有已執行的命令。conn.rollback()
cursor.close()
conn.close()
這是一個簡單的示例,展示了如何在Python中使用SQLite進行事務管理:
import sqlite3
conn = sqlite3.connect('example.db')
cursor = conn.cursor()
try:
cursor.execute("INSERT INTO users (name, age) VALUES (?, ?)", ('Alice', 30))
cursor.execute("INSERT INTO orders (user_id, product) VALUES (?, ?)", (1, 'Laptop'))
conn.commit()
except Exception as e:
print(f"Error occurred: {e}")
conn.rollback()
finally:
cursor.close()
conn.close()
請注意,根據您使用的數據庫類型和庫,上述代碼可能需要相應地進行調整。