关于MYSQL中事务的简单介绍

事务
事务的定义

一个事务是一个完整的逻辑单元,不可再分

比如,银行账户转账,从A账户向B账户转账10000,需要执行两条update语句:

update t_act set blance = blance -10000 where actno = 'act-001'

update t_act set blance = blance +10000 where actno = 'act-002'

以上两条DML语句必须同成功,或者同时失败,不允许出现一条成功,一条失败

要想保证以上的两条DML语句同时成功或者失败,那么就需要使用数据库的”事务机制“

事务相关语句

DML唯一与事务相关(insert delete update)

DML的三个语句都是和数据库表当中的“数据“相关的

事务的存在是为了保证数据的完整性,安全性

事务的使用

假设一个事务,要先执行一条insert,再执行一条update,最后执行一条delete,这个事才算完成

事务的四大特性
  • A 原子性:事务是最小的工作单元,不可再分

  • C 一致性:事务必须保证多条DML语句同时成功或者同时失败

  • I 隔离性:事务A与事务B之间具有隔离

    事务的隔离性存在隔离级别,理论上隔离级别有4个

    1. 第一级别:读未提交

      对方事务还没提交,我们当前事务可以读取对方未提交的数据

      读未提交存在脏读的现象,即读到了脏的数据

    2. 第二级别:读已提交

      对方事务提交之后的数据我方可以读到

      读已提交存在的问题是:不可重复读

    3. 第三级别:可重复读

      存在的问题是:读取到的数据是幻象

    4. 第四级别:序列化读/串行化读

      效率低,解决所有问题

  • D 持久性:持久性说的是最终段数据必须持久化到硬盘文件中,事务才算成功的结束

猜你喜欢

转载自blog.csdn.net/Villiam_AY/article/details/134487096
今日推荐