MySQL 中的事务是一组 SQL 语句,它们被视为一个独立的工作单元,要么全部执行成功,要么全部失败回滚。
SQL语句
begin;
start transaction;
1.开启事务:
执行commit完成事务的提交
begin;
--执行SQL语句,增删改查
commit;
2.回滚事务
执行事务过程中发生错误,可以使用rollback来回滚事务,取消所有对数据的修改,将数据库恢复到事务开始时的状态。
begin;
--执行SQL语句,增删改查等
rollback;
3.取消自动提交事务模式
set autocommit = 0;
--执行SQL语句,增删改查等
commit;
pymysql里面的conn.commit()操作是提交事务
pymysql里面的conn.rollback()操作是回滚事务
#1.导包
import pymysql
if __name__ == '__main__':
#2.创建连接对象
conn = pymysql.connect(
host = "localhost",
port=3306,
user="root",
password = "mysql",
database = "python11",
charset = "utf8")
#3.获取游标,目的是执行sql语句
cursor = conn.cursor()
#4.执行sql语句
# # 添加数据
# sql = "insert into teacher(name) values('feifei');"
# 修改数据
# sql = "update teacher set name='fangfang' where id=4";
# 删除数据
sql = "delete from teacher where id=4;"
try:
cursor.execute(sql)
conn.commit()
except Exception as e:
conn.rollback()
finally:
#5.关闭游标
cursor.close()
#6.关闭连接
conn.close()