python 事务操作_Python实现完整的事务操作示例
时间: 2024-03-30 11:12:19 浏览: 23
在 Python 中,我们可以使用数据库连接对象的 `commit()` 和 `rollback()` 方法来实现事务操作。下面是一个完整的事务操作示例:
```python
import psycopg2
# 连接数据库
conn = psycopg2.connect(
host="localhost",
database="test_db",
user="test_user",
password="test_password"
)
# 开始事务
conn.autocommit = False
cur = conn.cursor()
try:
# 执行事务操作
cur.execute("INSERT INTO users (name, age) VALUES ('Alice', 25)")
cur.execute("INSERT INTO users (name, age) VALUES ('Bob', 30)")
# 提交事务
conn.commit()
print("事务已提交")
except:
# 回滚事务
conn.rollback()
print("事务已回滚")
finally:
# 关闭游标和数据库连接
cur.close()
conn.close()
```
在上面的示例中,我们首先连接到数据库,然后将连接对象的自动提交设置为 `False`,这意味着我们需要手动提交或回滚事务。接着,我们创建了一个游标对象 `cur`,用于执行 SQL 语句。
在 `try` 块中,我们执行了两个 SQL 语句来向 `users` 表中插入两条记录。如果两条语句都成功执行,我们就调用 `commit()` 方法来提交事务。如果在执行 SQL 语句时出现了任何错误,我们就调用 `rollback()` 方法来回滚事务。
无论事务是否提交或回滚,我们都需要在 `finally` 块中关闭游标和数据库连接。
总之,Python 中的事务操作非常简单,只需要设置自动提交为 `False`,然后使用 `commit()` 和 `rollback()` 方法即可。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)