美文网首页
MySQL数据库的事务管理

MySQL数据库的事务管理

作者: Java联盟 | 来源:发表于2018-03-16 22:36 被阅读0次

MySQL 数据库的事务

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

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

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

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

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

1 : 执行SQL语句

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

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

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

show variables like 'autocommit';

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

事务的功能演示

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

查看一下表内的数据。

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

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

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

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

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

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

想要资料的小伙伴

可以在公众号中回复

“资料”

那里有娜娜已经准备好的

一份学习资料

拜拜~

相关文章

  • [Egg.js] egg-tx 接口级事务管理插件

    egg-tx 一个 egg 事务插件,它支持 Mysql、Mongo 数据库,它能做到请求接口级别的事务管理。 依...

  • MySQL数据库的事务管理

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

  • MySQL数据库的事务管理

    MySQL 数据库的事务 我们之前分享数据库的数据操作,无外乎对数据库的数据进行增、删、改、查。就比如我们去买东西...

  • 搭建一个SSM项目 -6: 增加“事务”

    现在应该增加数据库的事务管理了。spring-myBatis的事务管理 事务管理的话,是用AOP实现的 1:引入依...

  • jdbc存储过程

    jdbc事务管理 数据库连接池

  • spring事务管理

    1. 事务管理的基本原理 spring事务管理实际上数据库对事务的支持,在java中使用的是JDBC的事务管理机制...

  • aliyun.CentOS7.MySQL操作.2017-09-2

    初始化MySQL数据库 MySQL数据导入导出查看MySQL数据库的命令 MySQL数据导出到表 MySql数据库...

  • [二]事务原则与实现

    导航 一. 事务的原则 二. SQL实现数据库事务管理 三. JDBC实现事务管理 一. 事务的原则 事务的描述事...

  • mysql数据库的基础使用

    一、Centos安装MySQL 安装MySQL数据库。 配置MySQL数据库。 远程访问MySQL数据库。 具体详...

  • Spring基础目录/知识图谱

    目录 Spring IOC Spring Bean 面向切面编程 Spring和数据库 Spring数据库事务管理...

网友评论

      本文标题:MySQL数据库的事务管理

      本文链接:https://www.haomeiwen.com/subject/rxfdqftx.html