• 在线客服

  • 扫描二维码
    下载博学谷APP

  • 扫描二维码
    关注博学谷微信公众号

  • 意见反馈

原创 MySQL学习笔记梳理之事务讲解

发布时间:2020-02-12 20:38:08 浏览 4402 来源:博学谷 作者:照照

    一般来讲,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学习梳理笔记之事务讲解的全部内容了,大家都理解了吗?如果对这部分知识点,还有疑问的朋友,可以上博学谷官网进行相关在线课程的学习。

    申请免费试学名额    

在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!

上一篇: 学习Java要下载什么软件?用来做什么? 下一篇: MySQL中数据库的设计归纳讲解

相关推荐 更多

热门文章

  • 前端是什么
  • 前端开发的工作职责
  • 前端开发需要会什么?先掌握这三大核心关键技术
  • 前端开发的工作方向有哪些?
  • 简历加分-4步写出HR想要的简历
  • 程序员如何突击面试?两大招带你拿下面试官
  • 程序员面试技巧
  • 架构师的厉害之处竟然是这……
  • 架构师书籍推荐
  • 懂了这些,才能成为架构师
  • 查看更多

扫描二维码,了解更多信息

博学谷二维码