Mysql学习 事务

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql学习 事务相关的知识,希望对你有一定的参考价值。

1.事务的四大特性(ACID)

以转账业务来分析。

A.原子性

事务的操作步骤不可分割,要么全都成功,要么全部失败。A给B转账,A如果扣款,B必须增加余额,A和B的账户变化同时成功,或者同时失败。

B.一致性

事务的一致性指的是在一个事务执行之前和执行之后数据库都必须处于一致性状态。这种特性称为事务的一致性。假如数据库的状态满足所有的完整性约束,就说该数据库是一致的。

例如完整性约束a+b=10,一个事务改变了a,那么b也应随之改变。

C.隔离性

并发的事务是相互隔离的。即一个事务内部的操作及正在操作的数据必须封锁起来,不被其它企图进行修改的事务看到。假如并发交叉执行的事务没有任何控制,操纵相同的共享对象的多个并发事务的执行可能引起异常情况。

D.持久性

持久性意味着当系统或介质发生故障时,确保已提交事务的更新不能丢失。即一旦一个事务提交,DBMS保证它对数据库中数据的改变应该是永久性的,即对已提交事务的更新能恢复。持久性通过数据库备份和恢复来保证。

 

2.事务的开始和结束

A.事务的开始使用 start transaction命令

B.事务的结束使用commit或者rollback命令(rollback可以让事务回滚到事务开始前的状态)

以上是关于Mysql学习 事务的主要内容,如果未能解决你的问题,请参考以下文章

深入学习MySQL事务:ACID特性的实现原理

重新学习MySQL数据库8:MySQL的事务隔离级别实战

mysql 事务学习

Mysql学习——事务的隔离级别

深入学习MySQL事务:ACID特性的实现原理

关于事务的学习