事务:是一系列的数据库操作(这些操作要么全做,要么全不做,是一个不可分割的工作单位),是数据库应用程序的基本逻辑单元。
在SQL中,定义事务的语句一般有三条:
- begin transaction;
- commit;
- rollback;
begin transaction 事务的开始。
commit 提交事务,即将事务中所有对数据库的更新写回到磁盘上的物理数据库中。
rollback 回滚,将事务中对数据库的所有已完成的操作全部撤销,回滚到事务开始时的状态。
事务的ACID特性
- 原子性(Atomicity)
- 一致性(Consistency)
- 隔离性(Isolation)
- 持续性(Durability)
原子性:事务中的操作要么都做,要么都不做。
一致性:事务执行的结果必须使数据库从一个一致性状态变到另一个一致性状态。即数据库只包含成功事务提交的结果。
隔离性:当多个用户并发访问数据库时,数据库为每一个用户开启的事务,不能被其他事务的操作所干扰,多个并发事务之间要相互隔离。
持续性:也称永久性,一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。