一、事物概念介绍

  • 事物指一组不可分割的操作,假设该操作有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语句的个数不同
二、转账操作理解事务