一、事物概念介绍
- 事物指一组不可分割的操作,假设该操作有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 浅然_
网友评论