- 什么是事务
--事务的英语单词:Transaction
--事务
- 一个最小的不可再分的工作单元,通常一个事务对应一个完整的业务【例如一个银行账户转账业务,该业务就是一个最小的工作单元】
- 而一个完整的业务需要批量的DML语句(insert updata delete)共同联合完成。
- 事务只和DML语句有关系,或者说DML语句才有事务
- 以上所描述的批量DML语句总共有多少条语句,这个和业务逻辑有关系,业务逻辑不同DML语句的个数不同
2.关于银行账户转账,账户转账是一个完整的业务,最小的单元,不可再分
执行银行转账操作(10000):
updata T_act set balance=40000.0 where actno=‘act-001’;
updata T_act set balance=20000.0 where acyno='act-002';
以上两条DML语句必须同时成功或者同时失败,最小单元不可再分,当第一条DML语句执行成功后,并不能修改底层数据库中的数据,只能将操作记录下来,这个纪律实在内存中完成的,当第二条DML语句执行成功后,和底层数据库文件中的数据完成同步,若第二条DML语句执行失败,清空所有历史操作记录,要完成以上的功能,必须借助事务。
3.事务的四个特征(ACID)
- --原子性(A):事务是最小的工作单元不可再分
- --一致性(C):事务要求所有的DML语句操作的时候,必须 保证同时成功或者同时失败
- --隔离性(I):事务A和事务B之间具有隔离
- --持久性(D):是事务的保证,事务终结的标志(内存中的事务持久到硬盘文件中)
4.关于一些术语:(这是术语,不是sql语句)
- 开启事务:start Transactioon
- 事务结束:End Transactioon
- 提交事务:Commit Transactioon
- 回滚事务:Rollback Transactioon
5.和事务有关的两条SQL语句【TCL】
- commit:提交
- rollback:回滚
6.事务开启的标志?事务结束的标志?
--开启的