事物

作者: 别动我名字呀 | 来源:发表于2018-10-16 22:10 被阅读9次

    一、事物概念介绍

    • 事物指一组不可分割的操作,假设该操作有ABCD四个步骤,若ABCD中任意一个步骤操作失败,则认为事物失败
    • 每条SQL语句都是一个事物
    • 事物只对DML语句(insert、update、delete)有效,对DQL无效

    二、事务四大特征(ACID)

    • 原子性(Atomicty):指事物包含的所有操作要么全部完成,要么全部失败回滚
    • 一致性(Consistency):让数据保持一定的合理;一个商品出口,对应的用户购物车加1
    • 隔离性(Isolation):事务A和事务B之间具有隔离性
    • 持久性(Durablilty):是事务的保证,事务终结的标志(内存的数据持久到硬盘文件中)

    三、 事物的使用

    • 开启事务:Start Transaction
    • 回滚事务:Rollback
    • 提交事务:Commit

    四、事务开启的标志?事务结束的标志?

    1.开启标志 :

    • 任何一条DML语句(insert、update、delete)执行,标志事务的开启

    2.结束标志(提交或者回滚):

    • 提交:成功的结束,将所有的DML语句操作历史记录和底层硬盘数据来一次同步
    • 回滚:失败的结束,将所有的DML语句操作历史记录全部清空

    五、在MySQL中,事务提交与回滚

    在MySQL中,默认情况下,事务是自动提交的,也就是说,只要执行一条DML语句就开启了事物,并且提交了事务

    以上的自动提交机制是可以关闭的

    对t_user进行提交和回滚操作:

    提交:
    mysql> start transaction;#手动开启事务
    mysql> insert into t_user(name) values('pp');
    mysql> commit;#commit之后即可改变底层数据库数据
    
    回滚:
    mysql> start transaction;
    mysql> insert into t_user(name) values('yy');
    mysql> rollback;
    
    

    一、事务定义
    Transaction
    事务:一个最小的不可再分的工作单元;通常一个事务对应一个完整的业务(例如银行账户转账业务,该业务就是一个最小的工作单元)
    一个完整的业务需要批量的DML(insert、update、delete)语句共同联合完成
    事务只和DML语句有关,或者说DML语句才有事务。这个和业务逻辑有关,业务逻辑不同,DML语句的个数不同
    二、转账操作理解事务


    原文:CSDN 浅然_

    相关文章

      网友评论

          本文标题:事物

          本文链接:https://www.haomeiwen.com/subject/lhrkzftx.html