事务(重要,精通)

9、事务(重要)

   9.1、事务:一个事务就是一个完整的业务逻辑

   假设转账,从A账户向B账户中转账10000,将A账户的钱减去10000(update语句),将B账户的钱加上10000(update语句)

   这就是一个完整的业务逻辑

    以上操作为最小的工作单元,要么同时成功,要么同时失败,不可再分。两个update语句必须同时成功或者同时失败,才能保证钱是正确的。

  9.2、只有DML语句才会有事务,其它语句和事务无关

    insert

    delete

    update

    只有以上的三个语句和事务有关,其它没有关系

    因为只要以上的三个语句是数据库表中数据进行增、删、改

    只要你的操作一旦涉及到数据的增、删、改,那么就一定要考虑安全问题

    数据安全第一!!

  9.3、假设所有的业务,只要一条DML语句就能完成,还有必要存在事务机制吗?

    正是因为做某件事需要多条DML语句共同联合起来才能完成。如果任何一件复杂的事都能一条DML语句搞定

    则事务没有存在价值

    事务:本质上一个事务就是多条DML语句同时成功,或者同时失败!

  9.4、事物怎么做到多条DML语句同时成功或者同时失败的

    InnoDB存储引擎:提供一组用来记录事务性活动的日志文件

    事务开启:

    insert

    insert

    insert  

    delete

    update

    update

    update

    事务结束了!
    在事务执行过程中,每一条DML的操作都会记录到事务活动性的日志文件中

    在事务执行 过程中,可以提交事务,也可以回滚事务

    提交事务:清空事务性活动日志文件,将数据全部彻底持久化到数据库表中

        提交事务标志着事务的结束。并且是一种全部成功的结束。

    回滚事务:将之前所有的DML操作全部撤销,并且将清空事务性活动的日志文件

        回滚事务标志着事务的结束。并且是一种全部失败的结束

    

上一篇:1-1 MYSQL


下一篇:Mysql数据库基本操作(二)数据库基本操作DML(增删改)