事务(重要,精通)
作者:互联网
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操作全部撤销,并且将清空事务性活动的日志文件
回滚事务标志着事务的结束。并且是一种全部失败的结束
标签:语句,insert,精通,重要,DML,事务,update,日志 来源: https://www.cnblogs.com/doremi429/p/15836813.html