SQL事物的理解

事物的特征:

  1. 原子性(Atomicity),原子性意味着数据库中的事务执行是作为原子。即不可再分,整个语句要么执行,要么不执行。
  2. 一致性(Consistency),一致性,即在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏。
  3. 隔离(Isolation),事务的执行互不干扰,一个事务不可能看到其他事务运行时,中间某一时刻的数据。

比如转账,A账户减少金额  B账户增加金额,这是一个完整的事物,要么执行完成,要么直接不执行。         

容易出现的问题是:   脏读(一个事物读取了另一个事物未提交的数据)

                                   不可重复读(一个事物范围内两个相同的查询返回不同的数据)

                                   幻读(事务不是独立执行时发生的一种现象,例如第一个事务对一个表中的数据进行了修改,这种修改涉及到表中的全部数据行。同时,第二个事务也修改这个表中的数据,这种修改是向表中插入一行新数据。那么,以后就会发生操作第一个事务的用户发现表中还有 没有修改的数据行)

         4.持久性(durability),意味着在事务完成以后,该事务所对数据库所作的更改便持久的保存在数据库之中,并不会被回滚。  

基本语法:

  开启事物,BEGIN TRANSACTION

         数据操作语句(select / insert  / update......)

       commit/rollback   提交/回滚

由连接引用的数据在该点是逻辑和物理上都一致的。如果遇上错误,在 BEGIN TRANSACTION 之后的所有数据改动都能进行回滚,以将数据返回到已知的一致状态 。每个事务继续执行直到它无误地完成并且用 COMMIT对数据库作永久的改动,或者遇上错误并且用 ROLLBACK语句回滚到初始状态。

SQL事物的理解

上一篇:JDBC基本操作


下一篇:MySQL 数据库管理员密码忘记,如何重置密码?