现在的位置: 首页 > 数据库 > 正文

SQL中的事务ACID

2020年01月08日 数据库 ⁄ 共 828字 ⁄ 字号 评论关闭

  事务是由一系列语句构成的逻辑工作单元。事务和存储过程等批处理有一定程度上的相似之处,

  通常都是为了完成一定业务逻辑而将一条或者多条语句“封装”起来,使它们与其他语句之间出现一个逻辑上的边界,并形成相对独立的一个工作单元。

  当使用事务修改多个数据表时,如果在处理的过程中出现了某种错误,例如系统死机或突然断电等情况,则返回结果是数据全部没有被保存。

  因为事务处理的结果只有两种:

  一种是在事务处理的过程中,如果发生了某种错误则整个事务全部回滚,使所有对数据的修改全部撤销,事务对数据库的操作是单步执行的,当遇到错误时可以随时回滚;

  另一种是如果没有发生任何错误且每一步的执行都成功,则整个事务全部被提交。从而可以看出,有效地使用事务不但可以提高数据的安全性,还可以增强数据的处理效率。

  MySQL事务主要用于处理操作量大,复杂度高的数据。比如说,在人员管理系统中,你删除一个人员,你既需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务!

在MySQL中只有使用了Innodb数据库引擎的数据库或表才支持事务。

  事务处理可以用来维护数据库的完整性,保证成批的SQL语句要么全部执行,要么全部不执行。

  事务用来管理insert,update,delete语句

  事务包含四种重要的属性,被统称为ACID(指数据库事务正确执行的四个基本要素的缩写)

  包含:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。

  一个支持事务(Transaction)的数据库,必须要具有这四种特性。

  否则在事务过程(Transactionprocessing)当中无法保证数据的正确性,交易过程极可能达不到交易方的要求,一个事务必须通过ACID。

  结束语:以上就是关于SQL中的事务ACID的全部内容,更多内容请关注学步园。

抱歉!评论已关闭.