相关资料来源于网络,侵删歉。
如果文章中存在错误,请下方评论告知我,谢谢!


事务(Transaction)

1.事务是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位。
2.事务和程序是两个概念:在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序;一个应用程序通常包含多个事务。
3.事务是恢复和并发控制的基本单位。

显式定义事务

BEGIN TRANSACTION
SQL语句1
SQL语句2
……
COMMIT

BEGIN TRANSACTION
SQL语句1
SQL语句2
……
ROLLBACK 

(1) COMMIT语句表示:事务正常结束,提交事务的所有操作(读+更新)事务中所有对数据库的更新永久生效。
(2) ROLLBACK语句表示:事务异常终止,事务运行的过程中发生了故障,不能继续执行,回滚事务的所有更新操作,使事务滚回到开始时的状态。

事务的特性(ACID)
原子性(Atomicity)
:事务中包括的诸操作要么都做,要么都不做。
一致性(Consistency):事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。
例:(银行转帐)从帐号A中取出一百元,存入帐号B。
实现该转帐业务的事务包括两个操作:
1) 从帐户A减去一百元 ( A = A-100 );
2) 给帐户B加上一百元 ( B = B+100 )。
该事务应该符合:
① 这两个操作要么全做,要么全不做(原子性)
② 全做或者全不做,数据库都处于一致性状态;如果只做一个操作,数据库就处于不一致性状态,这是不允许的。
隔离性(Isolation):一个事务的执行不能被其他事务干扰,而影响它对数据的正确使用和修改。 
持久性 (Durability):一个事务一旦提交,它对数据库中数据的改变就应该是永久性的,接下来的其他操作或故障不应该对其执行结果有任何影响。