在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
一般来讲,MySQL事务主要用于处理操作量大,复杂度高的数据。本文将为大家梳理一下事务的相关学习笔记,内容包括了事务的应用场景说明,手动提交事务和自动提交事务。感兴趣的小伙伴,赶紧一起来看看MySQL学习笔记中关于事务的知识点梳理吧!

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

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

假设当张三账号上-500 元,服务器崩溃了。李四的账号并没有+500 元,数据就出现问题了。我们需要保证其中 一条 SQL 语句出现问题,整个转账就算失败。只有两条 SQL 都成功了转账才算成功。这个时候就需要用到事务。
2、手动提交事务
MYSQL 中可以有两种方式进行事务的操作:
手动提交事务
手动提交事务的SQL语句
开启事务:start transaction;
提交事务:commit;
回滚事务:rollback;
自动提交事务
手动提交事务使用过程:
成功的情况: 开启事务 执行多条 SQL 语句 成功提交事务
执行失败的情况: 开启事务 执行多条 SQL 语句 事务的回滚
案例演示1:事务提交 模拟张三给李四转 500 元钱(成功) 目前数据库数据如下:

(1)使用 DOS 控制台进入 MySQL
(2)执行以下 SQL 语句: 1.开启事务, 2.张三账号-500, 3.李四账号+500
(3)使用 SQLYog 查看数据库:发现数据并没有改变
(4)在控制台执行 commit 提交事务:
(5)使用 SQLYog 查看数据库:发现数据改变

3、自动提交事务
MySQL 默认每一条 DML(增删改)语句都是一个单独的事务,每条语句都会自动开启一个事务,语句执行完毕 自动提交事务,MySQL 默认开始自动提交事务
(1)演示:自动提交事务
将金额重置为 1000
更新其中某一个账户
使用 SQLYog 查看数据库:发现数据已经改变

(2)取消自动提交
查看 MySQL 是否开启自动提交事务

取消自动提交事务

执行更新语句,使用 SQLYog 查看数据库,发现数据并没有改变
在控制台执行 commit 提交任务

以上就是MySQL学习梳理笔记之事务讲解的全部内容了,大家都理解了吗?如果对这部分知识点,还有疑问的朋友,可以上博学谷官网进行相关在线课程的学习。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
Java面试题答疑解惑之数组去重
数组去重是Java面试者常常会遇到的面试题之一。不知道大家有没有想过,为什么面试官总是喜欢询问求职者这个问题?其实,关于数组去重的问题表面上看起来并不难,但是通过面试者对相关问题的回答,可以充分检验出面试者的Java能力水平究竟如何,以及对于考虑问题的思维方式够不够全面。因此,大家千万别觉得面试官问你数组去重的问题,就只是一个简单的问题。
6978
2020-01-10 19:09:11
浅谈学习Java需要有哪些基础?
浅谈学习Java需要有哪些基础?对于一个没有接触过编程语言的人来说,一点学习经验都没有,突然想要学习一门Java语言来作为自己的生存技能,就会问学习Java需要具有哪些基础?该如何学习呢?
6864
2020-02-14 17:46:12
优化MySQL数据库的方法有哪些?
优化MySQL数据库是一个很大的目标,要完成这一目标,我们首先要在分析并找出问题的基础上,展开优化的具体思路。因此我们可以先分析影响数据库性能的因素,一般是因为SQL查询速度慢,大量并发占满数据库连接数,CPU时用率过高,服务器硬件损坏,再或者是IO的问题。总的来说,针对不同的问题有与之对应的优化方法。下面我们可以通过一个项目实战,来具体聊聊优化MySQL数据库的方法。
5556
2020-04-10 16:01:52
零基础怎么学Java开发?
虽然Java相对其他语言没那么复杂,但是学的东西也不是那么简单的,报一个Java补习班可以事半功倍。我们必须明确一个大方向,也就是说现在面向对象的编程范畴。掌握Java的精华特性的同时,一定要知道为什么。
5375
2020-06-18 15:16:23
博学谷Java架构师课程主要讲解哪些内容?
Java架构师课程内容主讲:互联网微服务前沿技术栈、大型互联网分布式架构、全景消息通信实战、架构师源码深度剖析、海量数据处理、服务实战演练篇、大型项目性能优化、软件架构设计攻略、架构师武器库、手撕面试官、黑马顺风车实战项目、面向面试的算法实战、通用解决方案、人工智能、数据挖掘等内容。接下来我们具体来看下。
6547
2022-09-29 18:43:00
