MySQL的事务使用场景

发布时间:2020-05-30 01:43:29 作者:鸽子
阅读:2153
mysql云数据库,弹性扩容,低至0.3元/天! 查看>>

一般来讲,MySQL事务主要用于处理操作量大,复杂度高的数据。本文将为大家梳理一下事务的相关学习笔记,内容包括了事务的应用场景说明,手动提交事务和自动提交事务。感兴趣的小伙伴,赶紧一起来看看MySQL学习笔记中关于事务的知识点梳理吧!

MySQL的事务使用场景

1、事务的应用场景说明

1)事务的定义

在实际的开发过程中,一个业务操作如:转账,往往是要多次访问数据库才能完成的。转 账是一个用户扣钱,另一个用户加钱。如果其中有一条 SQL 语句出现异常,这条 SQL 就可能执行失败。事务执行是一个整体,所有的 SQL 语句都必须执行成功。如果其中有 1 SQL 语句出现异常,则所有的 SQL 语句都要回滚,整个业务执行失败。

2)转账的操作

MySQL的事务使用场景

模拟张三给李四转 500 元钱,一个转账的业务操作最少要执行下面的 2 条语句:

张三账号-500

李四账号+500

MySQL的事务使用场景

假设当张三账号上-500 ,服务器崩溃了。李四的账号并没有+500 元,数据就出现问题了。我们需要保证其中 一条 SQL 语句出现问题,整个转账就算失败。只有两条 SQL 都成功了转账才算成功。这个时候就需要用到事务。

2、手动提交事务

MYSQL 中可以有两种方式进行事务的操作:

手动提交事务

手动提交事务的SQL语句

开启事务:start transaction;

提交事务:commit;

回滚事务:rollback;

自动提交事务

手动提交事务使用过程:

成功的情况: 开启事务执行多条 SQL 语句成功提交事务

执行失败的情况: 开启事务执行多条 SQL 语句事务的回滚

案例演示1:事务提交 模拟张三给李四转 500 元钱(成功) 目前数据库数据如下:

MySQL的事务使用场景

(1)使用 DOS 控制台进入 MySQL

(2)执行以下 SQL 语句: 1.开启事务, 2.张三账号-500 3.李四账号+500

(3)使用 SQLYog 查看数据库:发现数据并没有改变

(4)在控制台执行 commit 提交事务:

(5)使用 SQLYog 查看数据库:发现数据改变

MySQL的事务使用场景

3、自动提交事务

MySQL 默认每一条 DML(增删改)语句都是一个单独的事务,每条语句都会自动开启一个事务,语句执行完毕 自动提交事务,MySQL 默认开始自动提交事务

(1)演示:自动提交事务

将金额重置为 1000

更新其中某一个账户

使用 SQLYog 查看数据库:发现数据已经改变 

MySQL的事务使用场景

2)取消自动提交

查看 MySQL 是否开启自动提交事务

MySQL的事务使用场景

取消自动提交事务

MySQL的事务使用场景

执行更新语句,使用 SQLYog 查看数据库,发现数据并没有改变 

在控制台执行 commit 提交任务

MySQL的事务使用场景

以上就是MySQL学习梳理笔记之事务讲解的全部内容了,大家都理解了吗?如果对这部分知识点,还有疑问的朋友,可以上亿速云官网进行相关在线课程的学习。

亿速云「云数据库 MySQL」免部署即开即用,比自行安装部署数据库高出1倍以上的性能,双节点冗余防止单节点故障,数据自动定期备份随时恢复。点击查看>>

推荐阅读:
  1. MySQL InnoDB 事务
  2. Mysql ------ 索引+ 事务

开发者交流群:

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

mysql mysql事务

上一篇:OpenStack-Rocky版单机部署

下一篇:电脑死机的各种硬件和软件原因解析

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》
开发者交流群×