MySql的事务是什么?什么是脏读?幻读?不可重复读?

目录

一、什么是事务?

事务的四大特性:

事务的操作:

二、什么是脏读、幻读、不可重复读?


一、什么是事务?

就是将一组SQL语句放在同一批次去执行,如果一个SQL语句出错,则该批内的所有SQL都将被取消执行

事务的四大特性:

                1.原子性:不可分割,要么全成功,要么全失败
                2.一致性:事务开始前和事务结束后是一致的
                3.隔离性:事务之间互不干扰
                4.持久性:事务不管成功失败,在数据库中都永久保存

事务的操作:

                1.关闭自动提交
                SET   AUTOCOMMIT = 0;
                2.开启一个事务
                START   TRANSACTION;
                3.一组sql语句
                4.关闭
                (1)提交
                COMMIT
                (2)回滚
                ROLLBACK
                5.开启原来的自动提交
                SET AUTOCOMMIT = 1;    

二、什么是脏读、幻读、不可重复读?

脏读:某个事务已更新一份数据,另一个事务在此时读取了同一份数据,由于某些原因,前一个RollBack了操作,则后一个事务所读取的数据就会是不正确的。

幻读:在一个事务的两次查询中数据笔数不一致,例如有一个事务查询了几列数据,而另一个事务却在此时插入了新的几列数据,先前的事务在接下来的查询中,就会发现有几列数据是它先前所没有的,会发现有新的“幻影” 行。

  不可重复读:在一个事务的两次查询之中数据不一致,这可能是两次查询过程中间插入了一个事务更新的原有的数据,简单理解就是,一个事务在进行中读取到了其他事务对旧数据的修改结果。

事务隔离级别脏读不可重复读幻读
读未提交    是    
 不可重复读 是
 可重复读 否
 可串行化 否


 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值