MYSQL——13.事务的学习

事务学习

什么是事务?
事务是用于保证数据的一致性的,它由一组相关的dml(增删改)语句组成,该组的语句要么全部成功,要么全部失败。
如:转账就是用事务来处理,用以保证事务的一致性。
​
事务和锁
当执行事务操作(dml语句)时,mysql会在表上面加锁,防止其他用户改表的数据,这对用户来讲是非常重要的。
​
mysql数据库控制事务的几个重要操作(基本操作)
1.start transaction  --开始一个事务
2.savepoint 保存点名 --设置保存点
3.rollback to 保存点名  --回退事务
4.rollback --回退全部事务
5.commit --提交事务,所有事务生效,不能退回。
​
回退事务
在介绍回退事务前,先设置一下保存点(savepoint),保存点是事务中的点,用于取消部分事务,当结束事务时(commit),会
自动的删除该事务的全部保存点。当执行回退事务时,通过我们提前设置的保存点进行回退。(如果是回退的很早之前,那么后面的
保存点也就被跟着删除了)。
​
提交事务
使用commit语句就可以提交事务了,当执行commit语句后,会确认事务的变化、结束事务、删除保存点、释放锁,数据生效。当使用commit语句
结束事务后,其他会话(其他连接)将可以查看到事务变化后的新数据(所有数据就正式生效了)。
​
演示:
1.创建一张表
create table test9(
    id int,
    `name` varchar(30)
)
​
2.开启事务
start TRANSACTION;
​
select * from test9;
​
3.设置保存点
savepoint a;
​
4.dml(删改查)操作
insert into test9 VALUES(1 ,  'tom');
savepoint b;
update test9 set name = 'jack' where id =1;
​
5.回退
rollback to b;
​
6.提交(正式生效)
commit;
​
mysql事务细节:
1.如果不开始事务,默认情况下,dml操作是自动提交的,不能回滚。
2.如果开始一个事务,但是没有设置保存点,你可以执行rollback操作,默认就是回退到你事务开始的状态。
3.你可以在事务里面创建多个保存点。
4.你可以在事务没有提交前,选择回到你想回到的保存点。
5.mysql的事务机制需要innodb的存储引擎才可以使用,myisam不可以使用。
6.开始一个事务start transaction 或者 set autocommit=off 

事务的隔离级别

视频链接:70韩顺平MySQL_4种隔离级别哔哩哔哩_bilibili

mysql事务的隔离级别:
1.事务管理级别介绍:
多个连接开启各自事务操作数据库中的数据时,数据库系统要负责隔离操作,以保证各个连接在获取数据时的准确性。
2.如果不考虑隔离性,可能会引发如下问题:
脏读:当一个事务读取到另外一个事务尚未提交的修改时,产生脏读。
不可重复读:同一个查询在同一个事务里面多次查询,由于其他事务提交了修改或者删除,导致每次返回的结果都不一致。产生不可重复读。
幻读:同一个查询在同一个事务里面多次查询,由于其他事务提交了插入操作,导致每次返回的结果都不一致。产生幻读。
-- 其实只需要理解隔离这个概念,就清楚了。
​

看视频,不爱写了。现在我倒是懂了。

特性:

原子性:不可分割,要么都发生,要么都不发生。

一致性:事务必须使数据库从一个一致性状态变换成另外一个一致性状态。

隔离性:是指多个用户并发访问数据库时,数据库为每一个用户开启一个事务,不被其他事务干扰,多个事务之间要相互隔离。

持久性:持久性是指,事务一旦提交,它对数据的改变就永久生效。哪怕数据库故障也是生效的。

  • 21
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

m0_48261292

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值