文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

如何理解MySQL中的事务

2024-04-02 19:55

关注

今天就跟大家聊聊有关如何理解MySQL中的事务,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

事务又叫做TCL,全称是transaction control  language,意思是事务控制语言。

一、事务的理解

张三有1000块钱,李四也有1000块钱,张三给李四500,还剩下500,李四此时就有1500。我们想象着会执行下面的mysql语句:

update table user set money=500 where name = "张三";  update table user set money=1500 where name = "李四";

但是在计算机中可能会不一样。可能上面语句执行了下面的没有执行,因此为了保证两条语句要么都执行,要么都不执行,这时候就用到了事务。

事务的意思是一条或者是一组语句组成一个单元,这个单元要么全部执行,要么全不执行。

事务具有四个特性,也是面试常考的四个特性ACID:

二、创建一个事务

事务其实可以划分为两大类:隐式的事务和显示的事务:

步骤一:禁用步骤提交功能

set autocommit = 0;

步骤二:开启一个事务

start transaction;

步骤三:sql语句

update table user set money=500 where name = "张三";  update table user set money=1500 where name = "李四";

步骤四:结束事务

commit(提交)或者是rollback(回滚)。如果确定我们的语句没有问题,那么我们就可以commit,如果认为我们的语句有问题,那就rollback。

如何理解MySQL中的事务

在这里新建了一个表,然后插入了两条数据。下面我们使用事务,来更新一下:

如何理解MySQL中的事务

在这里我们使用的是commit进行提交。当然如果突然发现我们之前的操作有错误,那就可以使用rollback。

三、事务的隔离级别

上面的事务在单个情况下一般不会出现什么问题,但是如果同时运行多个,就会出现问题了。我们知道并发操作总是会出现各种各样的问题,对于事务来说就会出现下面三个典型的问题:

(1)脏读

有俩事务T1,T2。如果T1读了一条数据,这条数据是T2更新的但是还没提交,突然T2觉得不合适进行事务回滚了,也就是不提交了。此时T1读的数据就是无效的数据。

(2)不可重复读

有俩事务T1,T2。如果T1读了一条数据,之后T2更新了这条数据,T1再次读取就发现值变了。

(3)幻读

有俩事务T1,T2。如果T1读了一条数据,之后T2插入了一些新的数据,T1再次读取就会多出现一些数据。

如何去解决这些问题呢?既然多个事务同时运行不好,那就把他们隔离开来。这时候就用到了事务的隔离性。

如何理解MySQL中的事务

mysql默认的事务隔离级别为repeatable-read,Oracle默认的是read-committed,

想要去演示事务的隔离级别也很简单,只需要开启两个客户端演示就OK了,在这里就不说了。

看完上述内容,你们对如何理解MySQL中的事务有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯