小伙伴们不好意思,这两天有事没有及时的更新哈~希望小伙伴们见谅,那么开始我们今天的分享。

MySQL 数据库的事务

我们之前分享数据库的数据操作,无外乎对数据库的数据进行增、删、改、查。就比如我们去买东西,一般都是先付钱,卖家收到钱再发货。这个用数据库来表示就是,第一步:从用户的账户中减去一部分金额。第二步,再把减去的金额添加到商家的账户上。

但是万一遇到特殊的情况,你成功的完成了第一步,从用户的数据库中扣除了钱,这时候突然停电,系统出现了故障,没有完成第二步。这就尴尬了,用户的钱少了,商家也没收到钱。

为了应对这种情况的发生,数据库就出现了一个功能事务,事务就是一组由 SQL 语句组成的业务逻辑,当事务内的所有 SQL语句都成功的执行,整个事务才算成功,否则就是失败。失败意味着整个的数据操作没有意义,就要把数据恢复到执行事务操作之前的状态。

上面是关于事务的介绍,下面我们用具体的代码演示一下:

SQL语句在执行的过程中分为二个阶段:

1 : 执行SQL语句

2 : 将执行结果提交给数据库。

现在我们来演示一下:修改 id=3 的用户的手机号码,使之变成 123456

我们看见这个修改操作已经完成了,我们来看一下事务默认的执行方式。

show variables like 'autocommit';

事务默认的执行方式:自动提交。SQL语句执行完毕后,自动提交事务。

事务的功能演示

先来创建两个表一个用户表一个订单表,写入两条数据。

查看一下表内的数据。

现在我们来开启事务:start translation。

我们打开一个窗口,作为一个新的用户,现在我们看见,数据是没有变化的。也就是说,当一个事务没有完成的时候,用户只能看到事务完成前,或者完成后的状态。

现在我们的操作完成,来提交事务。commit

数据库中的数据修改了,别的用户查看数据库的时候,也是修改后的数据。如果执行的过程中发生错误呢?开启事务。再来修改一下数据。

现在出错了,事务进行回滚操作,rollback。

我们看到了,数据库的数据恢复到没有修改之前的状态。这就是我们今天要分享的 MySQL 数据库的事务了。

mysql数据库事务_MySQL数据库的事务管理相关推荐

  1. mysql 数据库事务处理_MySQL数据库事务及其原理

    基本概念 MySQL 事务主要用于处理操作量大,复杂度高的数据. 银行转账是经典的解释事务的例子.用户A给用户B转账5000元主要步骤可以概括为如下两步. 第一,账户A账户减去5000元: 第二,账户 ...

  2. mysql xid原理_MySQL数据库分布式事务XA实现原理分析

    [IT168 技术]MySQL XA原理 MySQL XA分为两类,内部XA与外部XA;内部XA用于同一实例下跨多个引擎的事务,由大家熟悉的Binlog作为协调者;外部XA用于跨多MySQL实例的分布 ...

  3. mysql xa 实现_MySQL数据库分布式事务XA的实现原理分析

    1 原理 关于MySQL数据库的分布式事务XA,分布式事务实现的原理,可见[3];关于MySQL XA的说明,可见[1][2]. MySQL XA分为两类,内部XA与外部XA;内部XA用于同一实例下跨 ...

  4. mysql数据库管理程序_mysql数据库之日常管理

    分类:DDL―数据定义语言(CREATE,ALTER,DROP,DECLARE)DML―数据操纵语言(SELECT,DELETE,UPDATE,INSERT)DCL―数据控制语言(GRANT,REVO ...

  5. 熟悉mysql基本数据库操作系统_MySQL数据库的基本操作

    1.数据库和数据库对象 数据库分为系统数据库和用户数据库. 数据库对象是指存储.管理和使用数据库的不同结构形式,主要包括表.视图.存储过程.函数.触发器和事务. 1.系统数据库 系统数据库是值安装完M ...

  6. mysql 活跃事务_MySQL日志与事务

    整体架构 事务的基本概念 事务就是一组原子性的sql查询,或者是一个独立的工作单元 事务内的语句,要么全部执行成功,要么全部执行失败 ACID标识原子性(atomicity).一致性(consiste ...

  7. mysql开启事务_MySQL入门之事务(上)

    事务 事务介绍 事务的概念 事务指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部不成功 数据库开启事务命令 start transaction 开启事务 (等同于set autoco ...

  8. mysql xa 演示_mysql的XA事务恢复过程详解

    mysql数据库开机报错: InnoDB: The log sequence number in ibdata files does not match InnoDB: the log sequenc ...

  9. mysql数据库应用_MySQL数据库应用 从入门到精通 学习笔记

    以下内容是学习<MySQL数据库应用 从入门到精通>过程中总结的一些内容提要,供以后自己复现使用. 一:数据库 查看所有数据库:SHOW DATABASES 创建数据库:CREATE DA ...

  10. mysql合集_Mysql数据库知识点合集

    一.Mysql数据库的操作命令 1.登录:mysql -h 服务器地址 -u 登录名 -p 密码 mysql -h 127.0.0.1 -u root -p root 2.数据库备份:mysqldum ...

最新文章

  1. Samba如何配置共享资源
  2. Spring MVC控制层的返回类型--String类型与Bean类型
  3. LeetCode 217 存在重复元素
  4. 大学物理实验长度的测量实验报告_大学物理实验教案长度和质量的测量两篇
  5. object.__比较运算__
  6. 深入学习typedef和typename
  7. 电脑桌面背景色及分辨率设置问题-仅供参考
  8. Luogu1373 小a和uim之大逃离
  9. 重构28-Rename boolean method(重命名布尔方法)
  10. 如何搭建一个自己的网站-项目篇
  11. idea使用数据库连接工具
  12. 【Django】Specifying a namespace in include() without providing an app_name is not supported
  13. 【MySQL】--数据库锁机制
  14. 【unity】编辑模式预览Animator动作,2种实现。 其中一种 playback模式是Cinema Director用的会使Unity Crash
  15. cad老是弹出命令中发生异常_打开CAD是时出现错误报告怎么解决?
  16. 在中兴新支点操作系统玩换装游戏
  17. 【斗鱼直播源】浏览器抓取真实直播源地址(纯前端JS PHP解析源码)
  18. Wox插件之程序员不安装会死系列
  19. 学习Java编程入门书籍
  20. git 版本回退之关于git reset --hard 和 --soft区别

热门文章

  1. Tag recommendaion... 论文中的小例子,使用HOSVD算法推荐
  2. 港科大陈凯、杨强教授新书重磅发布,系统揭秘隐私计算 | 文末送书
  3. 高德技术开放日 | 聊聊技术与成长那些事,大量实习岗、社招岗开放
  4. 【百度飞浆】RCNN系列目标检测算法详解
  5. Layui上传文件时choose事件只触发一次的问题(两种解决方案+最终解决方案源码)
  6. Java queue总结
  7. 呕心沥血为小白总结13个学习网站-错过了你注定绕弯!
  8. 数据结构和算法之数组模拟队列
  9. jQuery给输入框绑定键盘事件
  10. 网络——Cisco Packet Tracer 思科模拟器组网实验