mysql事务

目录

1.作用范围

2.特点

3.隔离级别

4.控制语句

5.案例

         测试提交事务

         测试回滚事务 

         测试多点回滚

        使用 set 设置控制事务


1.作用范围

        mysql事务主要用于处理操作量大 复杂度高的数据

2.特点

        原子性        事务是一个整体 都发生或都不发生

        一致性        事务开始前结束后 数据库完整性没被破坏

        隔离性        并发环境下 不同事务同时操控同一数据时 每个事务都有独立空间

        持久性        事务完成后 事务对数据库的更改永久保存 不回滚

3.隔离级别

        read uncommitted        读取尚未提交的数据        不解决脏读

        read committed        提交读        可解决脏读

        repeatable read        可重复读        可以解决脏读 不可重复读(mysql默认可重复读)

        serializable        串行化        可以解决 脏读 不可重复读 虚读

                ###  脏读        读取未提交数据        脏读指的是读到了其他事务未提交的数据 未提交意味着这些数据可能会回滚 也就是可能最终不会存到数据库中 也就是不存在的数据

                        不可重复读        前后多次读取 数据内容不一致        一个事务内两个相同的查询却返回了不同数据

                        幻读        前后多次读取,数据总量不一致        一个事务对一个表中的数据进行了修改 这种修改涉及到表中的全部数据行 另一个事务也修改这个表中的数据 这种修改是向表中插入一行新数据 那么 操作前一个事务的用户会发现表中还有没有修改的数据行 就好象发生了幻觉一样

4.控制语句

        begin                                            开启

        commit                                         提交

        rollback                                        回滚

        savepoint s1或savepoint             允许创建回滚点

5.案例

        查询全局事务隔离级别

         查询会话事务隔离级别

         设置全局事务隔离级别

         设置会话事务隔离级别



        创建表

 

         测试提交事务

                1 减100

                保存

                重新进入 测试

 

         测试回滚事务 

                1 加100 

                回滚

 

                重新进入 测试

 

         测试多点回滚

                1 加100 设置为第一个回滚点

                2 加100

 

                插入一个3

 

                回到回滚点

 

        使用 set 设置控制事务

                禁止自动提交(autocommit=0)

                测试

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值