事务是并发控制的单位,是我们自己定义的一个操作序列。这些操作要么都做,要么都不做,是一个分
割的工作单位。通过事务,能将逻辑相关的一组操作绑定在一起,以便服务器保持数据的完整性。
如:银行转账,A用户账户扣完钱后出现异常,导致B用户未能收到钱,此时不能正常开启事务,数据库中
数据不会发现变化,AB账号余额不变。
事务通常是以BEGIN TRANSACTION开始,以COMMIT或ROLLBACK结束。
COMMIT表示提交,即提交事务的所有操作。具体地说就是将事务中所有对数据库的更新写回到磁盘上的物理数据库中去,事务正常结束。
ROLLBACK表示回滚,即在事务运行的过程中发生了某种故障,事务不能继续进行,系统将事务中对数据库的所有以完成的操作全部撤消,滚回到事务开始的状态。
事务的四大特性
1、原子性
事务是数据库的逻辑工作单位,事务中包括的诸操作要么全做,要么全不做。
2、一致性
事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关
的。一般来说修改、添加、删除操作是需要开启事务的,因为它们改变了数据库,而查询是不需要开启事务
的,因为对数据库没影响。
3、隔离性
一个事务的执行不能被其他事务干扰。
4、持续性/永久性
一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。事务对数据库的改动其实就是将游离
态与瞬时态的数据库变成持久态的数据存入数据库。