MySQL事务介绍

TCL:

Transaction Control Language,事务控制语言

事务:在MySQL数据库中表示一条或多条Sql语句组合在一起的一个执行单元.这个执行单元要么全部执行,要么全部不执行,否则就会出现逻辑错误!

比如银行里的转账这个事情:

A账号余额:1000

B账号余额:1000

现在A转500元给B,那么要完成这个转账的事务,数据中的SQL应该是这样的执行过程:

①A账号上要减少500元

update 储蓄表 set A.余额=A.余额-500 where 账号名='A';

②B账号上要增加500元

update 储蓄表 set B.余额=B.余额+500 where 账号名='B';

如果没有事务处理这个功能,上面的情况下,很可能会发生这样的情况:

①执行成功 A的余额变为:500

刚开始执行②的时候,突然出现某系统系统错误,导致②执行失败!

①√②×:A的钱减少了,B的钱没增加!

所以在类似的场景需求中我们需要事务处理:实现将①和②的SQL语句绑定在一起,要么都执行成功,没的事! 要么不管是①执行出错还是②执行出错,数据库里的数据状态会回滚到没有执行任何①或②里的SQL语句之前!

在具体讲事务之前,还要说说MySQL数据库中的存储引擎: innoDB

①什么是存储引擎:

在mysql中的数据是用各种不同的技术来存储在磁盘文件(或内存)当中的,这种具体的存储技术就是我们说的存储引擎.

②我们可以通过show engines;命令来查看mysql支持的存储引擎。

③在mysql可以选择的这些存储引擎中,innodb,myisam,memory这个三个是最常用的,但是其中只有innodb支持事务处理,而其他是不支持事务处理的。

事务的ACID特点:

①原子性(Atomicity):组成事务的SQL语句不可在分,要么都执行,要么都不执行。

②一致性(Consistency):事务必须让数据的数据状态变化到另一个一致性的状态,比如:刚刚的例子中A和B的余额总和是2000,转账后,A和B的余额总和不能变.前后具有一致性。

③隔离性(Isolation):一个事务的执行,不受其他事务的干扰,相互应该是隔离的,但是实际上是很难做到的,要通过隔离级别做选择!

④持久性(Durability):一个事务被提交,并成功执行,那么它对数据的修改就是永久性的;接下来的其他操作或出现的故障,不能影响到它执行的结果!

相关推荐

  1. MySQL事务介绍

    2024-04-29 20:12:02       33 阅读
  2. 6. Mysql里面的GTID 全局事务标识 介绍

    2024-04-29 20:12:02       36 阅读
  3. Mysql事务

    2024-04-29 20:12:02       79 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-29 20:12:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-29 20:12:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-29 20:12:02       87 阅读
  4. Python语言-面向对象

    2024-04-29 20:12:02       96 阅读

热门阅读

  1. 如何在虚拟专用服务器上配置 Nginx Web 服务器

    2024-04-29 20:12:02       39 阅读
  2. SpringBoot Redis使用篇

    2024-04-29 20:12:02       30 阅读
  3. Linux学习阶段划分及学习方法

    2024-04-29 20:12:02       33 阅读
  4. 泽尼克波前拟合 matlab

    2024-04-29 20:12:02       25 阅读
  5. MATLAB初学者入门(18)—— 近邻算法

    2024-04-29 20:12:02       35 阅读
  6. 边缘计算概述_5.边缘计算应用场景

    2024-04-29 20:12:02       32 阅读
  7. mac 安装 python3

    2024-04-29 20:12:02       29 阅读
  8. 计算机网络 2.4差错检验与校正

    2024-04-29 20:12:02       33 阅读
  9. springboot常用注释

    2024-04-29 20:12:02       37 阅读
  10. echarts 旭日图 层级嵌套 子级完全继承父级颜色

    2024-04-29 20:12:02       33 阅读
  11. TP8 利用jwt 生成token

    2024-04-29 20:12:02       31 阅读