事务的概念
数据库事务是指单个逻辑工作单元执行的一系列操作,要么完全执行要么完全不执行。
事务的 ACID 四个特性
- 原子性:事务包含的操作要么全部成功,要么全部失败,不会存在部分成功。
- 一致性:事务执行前后数据库都会处于一致的状态,即没有破坏数据库的完整性约束。
- 隔离性:数据库进行事务并发操作时,多个事务之间相互隔离,不会有所干扰。
- 持久性:事务一旦被提交之后,将会对数据库中的数据产生永久性的影响,即使数据库出现故障也不会丢失。
事务的操作命令
- BEGIN/START TRANSACTION:开启一个事务
- COMMIT/COMMIT WORK:提交事务,使得对数据库的修改成为永久性的
- ROLLBACK/ROLLBACK WORK:恢复到上个 COMMIT 或保存点的状态
- SAVEPOINT savepoint_name:设置保存点,保存点将在事务处理完成(执行一条 ROLLBACK 或 COMMIT)后自动释放
- RELEASE SAVEPOINT savepoint_name:删除特定的保存点
- ROLLBACK TO savepoint_name:回滚到特定的保存点
- SET TRANSACTION:用来设置事务的隔离级别