MySQL_事务

---------------事务---------------

事务介绍:

事务就是用户定义的一系列执行SQL语句的操作,这些操作要么完全执行,要么完全不执行,它是一个不可分割的工作执行单元

事务的四大特征:

①原子性 ②一致性 ③隔离性 ④持久性

事务的使用 使用事务之前要确保存储引擎是InnoDB类型,只有这个类型才可以使用事务,MYSQL数据库中表的存储引擎默认是InnoDB类型

查看MySQL数据库支持的表的存储引擎:show engines
通过创表语句:show create table 表名 可以得知表的存储引擎
修改表的存储引擎使用:alter table 表名 engine = 引擎类型;

开启事务:

begin; 或者 start transaction;

set autocommit = 0; 取消自动提交事务模式,需要手动执行commit完成事务的提交
insert into students(name) values(‘小蜜瓜’)
commit 执行这步才算提交成功

提交事务:commit;
回滚事务:rollback;
事务演练的SQL语句:

begin;
insert into students(name) values(‘李白’);
– 查询数据,此时有新增的数据, 注意: 如果这里后续没有执行提交事务操作,那么数据是没有真正的更新到物理表中
select * from students;
– 只有这里提交事务,才把数据真正插入到物理表中
commit;

– 新打开一个终端,重新连接MySQL数据库,查询students表,这时没有显示新增的数据,说明之前的事务没有提交,这就是事务的隔离性
– 一个事务所做的修改操作在提交事务之前,对于其他事务来说是不可见的
select * from students;

小结

事务的特性:
原子性: 强调事务中的多个操作时一个整体
一致性: 强调数据库中不会保存不一致状态
隔离性: 强调数据库中事务之间相互不可见
持久性: 强调数据库能永久保存数据,一旦提交就不可撤销
MySQL数据库默认采用自动提交(autocommit)模式, 也就是说修改数据(insert、update、delete)的操作会自动的触发事务,完成事务的提交或者回滚
开启事务使用 begin 或者 start transaction;
回滚事务使用 rollback;
pymysql 里面的 conn.commit() 操作就是提交事务
pymysql 里面的 conn.rollback() 操作就是回滚事务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值