事务四大特性(简称ACID)
- 原子性(Atomicity):事务中的全部操作在数据库中是不可分割的,要么全部完成,要么均不执行
- 一致性(Consistency):几个并行执行的事务,其执行结果必须与按某一顺序串行执行的结果相一致
- 隔离性(Isolation):事务的执行不受其他事务的干扰,事务执行的中间结果对其他事务必须是透明的
- 持久性(Durability):对于任意已提交事务,系统必须保证该事务对数据库的改变不被丢失,即使数据库出现故障
事务命令
- 要求:表的引擎类型必须是innodb类型才可以使用事务,这是mysql表的默认引擎
- 查看表的创建语句,可以看到engine=innodb
begin;
- 修改数据的命令会触发事务,包括insert、update、delete
- 开启事务,命令如下:
- 开启事务后执行修改命令,变更会维护到本地缓存中,而不维护到物理表中
commit;
- 提交事务,命令如下
将缓存中的数据变更维护到物理表中
rollback;
- 回滚事务,命令如下:
- 放弃缓存中变更的数据
1、开启事务
2、向表中插入数据
3、查看插入效果
4、回滚
5、查看回滚后效果