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;
    

      

     
  • 相关阅读:
    【Educational Codeforces Round 101 (Rated for Div. 2) C】Building a Fence
    【Codeforces Round #698 (Div. 2) C】Nezzar and Symmetric Array
    【Codeforces Round #696 (Div. 2) D】Cleaning
    【Codeforces Round #696 (Div. 2) C】Array Destruction
    【Educational Codeforces Round 102 D】Program
    【Educational Codeforces Round 102 C】No More Inversions
    【Good Bye 2020 G】Song of the Sirens
    【Good Bye 2020 F】Euclid's nightmare
    使用mobx入门
    requestAnimationFrame 控制速度模拟setinterval
  • 原文地址:https://www.cnblogs.com/yoyo1216/p/10130000.html
Copyright © 2011-2022 走看看