🔥MySQL事务
事务简介
事务是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。
事务定义(Transaction)
⭐ 事务是一个最小的不可再分的工作单元;通常一个事务对应一个完整的业务(例如银行账户转账业务,该业务就是一个最小的工作单元)
⭐ 一个完整的业务需要批量的DML(insert、update、delete)语句共同联合完成
⭐ 事务只和DML语句有关,或者说DML语句才有事务。这个和业务逻辑有关,业务逻辑不同,DML语句的个数不同
事务四大特征(ACID)
⭐ 原子性(ATOMICITY)
事务中的操作要么都不做,要么就全做。
⭐ 一致性(CONSISTENCY)
一个事务应该保护所有定义在数据上的不变的属性(例如完整性约束)。
在完成了一个成功的事务时,数据应处于一致的状态。
⭐ 隔离性(ISOLATION)
一个事务的执行不能被其他事务干扰。
⭐ 持久性(DURABILITY)
一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。
事务类型
⭐ 显式事务
需要我们手动的提交或回滚。
DML 语言中的所有操作都是显示事务操作。
⭐ 隐式事务
数据库自动提交不需要我们做任何处理,同时也不具备回滚性。DDL、DCL 语言都是隐式事务操作