吃透MySQL(六):事务详细介绍

文章目录

    • 一,什么是事物
    • 二,事物的几个特性(ACID)
    • 三,事物操作
      • 1,隐式事务
      • 2,显式事物
        • 2.1,方式1
        • 2.2,方式2
      • 3,savepoint关键字
      • 4,只读事物
    • 四,事物中的一些问题
    • 五,事物的隔离级别
      • 1,隔离级别分为4种:
      • 2,查看隔离级别
      • 3,隔离级别的设置
      • 4,各种隔离级别中会出现的问题
        • 4.1,READ-UNCOMMITTED:读未提交
        • 4.2,READ-COMMITTED:读已提交
        • 4.3,REPEATABLE-READ:可重复读
        • 4.4,SERIALIZABLE:串行
      • 5,关于隔离级别的选择
    • 六,总结

一,什么是事物

数据库中的事务是指对数据库执行一批操作,这些操作最终要么全部执行成功,要么全部失败,不会存在部分成功的情况。

举个例子

比如A用户给B用户转账100操作,过程如下:

  1. 从A账户扣100
  2. 给B账户加100

如果在事务的支持下,上面最终只有2种结果:

  1. 操作成功:A账户减少100;B账户增加100。
  2. 操作失败:A、B两个账户都没有发生变化。

如果没有事务的支持,可能出现错:A账户减少了100,此时系统挂了,导致B账户没有加上100,而A账户凭空少了100。

二,事物的几个特性(ACID)

  • 原子性(Atomicity):事务的整个过程如原子操作一样,最终要么全部成功,或者全部失败,这个原子性是从最终结果来看的,从最终结果来看这个过程是不可分割的。
  • 一致性(Consistency):事务开始之前、执行中、执行完毕,这些时间点,多个人去观察事务操作的数据的时候࿰

你可能感兴趣的:(吃透MySQL,mysql事物,mysql事物隔离级别,脏读,幻读)