第十一章 事务与锁

第十一章  事务与锁
1.理解事务的概念和4个基本特性
答:事务是用户定义的一个操作序列。这些操作要么都做,要么都不做,是一个不可分割的工作单元。
事务的四个特性:原子性,一致性,隔离性,持久性。

2.掌握事务的开启,提交和回滚
答:a.开启事务
                  start transaction;
       b.事务的提交
                   使用:commit
                   如果不显示的开启一个事务,则每个sql语句都被当作一个事务执行提交操作,对于需                     要执行多条sql语句才能完成的事务来说,必须要关闭MySQL的自动提交功能。
                         查看自动提交功能是否开启:show variables like 'autocommit';
                         关闭自动提交功能:set autocommit=0;
                注意:autocommit是会话变量,只在当前命令窗口有效。当使用start transaction命令                      是可以自动隐式地关闭自动提交功能,且不会修改autocommit变量的值。
        c.事务的回滚
                 rollback;
                保存点:savepoint 保存点名;
                回滚到保存点:rollback to savepoint 保存点名;


3.掌握事务的4种隔离级别
答:事务的隔离级别:
    级别一. 未提交读:read uncommitted (产生:脏读,不可重复读,幻读)
    级别二. 提交读:read committed(产生:不可重复读,幻读)
    级别三. 可重复读:repeatable read (产生:幻读)
    级别四. 可串行化:serializable(易出现超时现象和锁竞争)
      查看隔离级别:全局:select @@global.transaction_isolation;
              当前会话:select @@session.transaction_isolation;
              下一个事务:select @@transaction_isolation;(仅对当前用户的下一个事务有影响)

      修改隔离级别:set transaction设置隔离级别(使用session为当前会话级别,global为全局隔                                离级别)
                                           set session transaction isolation level read committed;
                                set 语句设置隔离级别
                                           set @@session.transaction_isolation='read-uncommitted';


4.了解锁机制,理解并掌握锁管理的过程
答:锁的颗粒度:指的是锁的作用范围。分为:表级锁(类型包括读锁,写锁),行级锁(类型包括排他锁,共享锁,意向锁),页面锁。
锁的管理:
    1)表级锁:
        上锁:lock tables tbl_name lock_type;           eg:lock tables jsjbxxb read;
        解锁:unlock tables;
    2)行级锁(语句操作完毕,服务器会自动为其解锁)
        上读锁:select 语句 for share 【nowait | skip locked】lock in share mode;
        上写锁:select 语句 for update 【nowait | skip locked】
        用事务来演示:
            start transaction;
            select *from jsjbxxb where jsxm='张三'  for update;(上写锁,无法更新张三信息)
            rollback;(回滚后可执行更新操作)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

ee .

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

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

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

打赏作者

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

抵扣说明:

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

余额充值