zoukankan      html  css  js  c++  java
  • mysql 事物

    事务

    事务四大特性(简称ACID)

    • 原子性(Atomicity):事务中的全部操作在数据库中是不可分割的,要么全部完成,要么均不执行
    • 一致性(Consistency):几个并行执行的事务,其执行结果必须与按某一顺序串行执行的结果相一致
    • 隔离性(Isolation):事务的执行不受其他事务的干扰,事务执行的中间结果对其他事务必须是透明的
    • 持久性(Durability):对于任意已提交事务,系统必须保证该事务对数据库的改变不被丢失,即使数据库出现故障

    事务命令

    • 要求:表的引擎类型必须是innodb类型才可以使用事务,这是mysql表的默认引擎
    • 查看表的创建语句,可以看到engine=innodb
    show create table students;
    

      

    • 修改数据的命令会触发事务,包括insert、update、delete

    • 开启事务,命令如下:

      • 开启事务后执行修改命令,变更会维护到本地缓存中,而不维护到物理表中
    begin;
    

      

    • 提交事务,命令如下
      • 将缓存中的数据变更维护到物理表中
    commit;
    

      

    • 回滚事务,命令如下:
      • 放弃缓存中变更的数据
    rollback;
    

      




    提交

    • 为了演示效果,需要打开两个终端窗口,使用同一个数据库,操作同一张表

    step1:连接

    • 终端1:查询学生信息
    select * from students;
    

      

    step2:增加数据

    • 终端2:开启事务,插入数据
    begin;
    insert into students(sname) values('张飞');
    

      

    • 终端2:查询数据,此时有新增的数据
    select * from students;
    

      

    step3:查询

    • 终端1:查询数据,发现并没有新增的数据
    select * from students;
    

      

    step4:提交

    • 终端2:完成提交
    commit;
    

      

    step5:查询

    • 终端1:查询,发现有新增的数据
    select * from students;
    

      






    回滚

    • 为了演示效果,需要打开两个终端窗口,使用同一个数据库,操作同一张表

    step1:连接

    • 终端1
    select * from students;
    

      

    step2:增加数据

    • 终端2:开启事务,插入数据
    begin;
    insert into students(sname) values('张飞');
    

      

    • 终端2:查询数据,此时有新增的数据
    select * from students;
    

      

    step3:查询

    • 终端1:查询数据,发现并没有新增的数据
    select * from students;
    

      

    step4:回滚

    • 终端2:完成回滚
    rollback;
    

      

    step5:查询

    • 终端1:查询数据,发现没有新增的数据
    select * from students;
    

      

     
  • 相关阅读:
    20160813上午训练记录
    [bzoj 2159]Crash的文明世界
    【娱乐】高端小游戏Manufactoria
    【教程】如何正确的写一个Lemon/Cena的SPJ(special judge)
    [CF]codeforces round#366(div2)滚粗记
    洛谷 [P3265] 装备购买
    POJ 1830 开关问题
    洛谷 [P4035] 球形空间生成器
    BZOJ 2973 入门OJ4798 石头游戏
    洛谷 [P1939] 矩阵加速数列
  • 原文地址:https://www.cnblogs.com/yoyo1216/p/10130000.html
Copyright © 2011-2022 走看看