【MySQL】MySQL事务保姆级教程(适合MySQL初学者学习)

这篇具有很好参考价值的文章主要介绍了【MySQL】MySQL事务保姆级教程(适合MySQL初学者学习)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

🧑‍💻作者名称:DaenCode
🎤作者简介:啥技术都喜欢捣鼓捣鼓,喜欢分享技术、经验、生活。
😎人生感悟:尝尽人生百味,方知世间冷暖。
📖所属专栏:重温MySQL


【MySQL】MySQL事务保姆级教程(适合MySQL初学者学习),重温MySQL,mysql,学习,数据库


🌟前言

无论是在校招、社招,亦或者大学计算机专业、软件工程等相关面试或者考试中,MySQL事务的相关知识都是必不可少的。本文主要为MySQL初学者快速学习MySQL事务保驾护航。


🌟事务的定义及作用

定义:事务是一个不可再此分割的最小工作单元。换句话说事务通常代表一个完整的业务或者业务线。通俗来说,一个业务功能所包含的操作,要么全部成功,要么全部失败
作用

  • 为数据库的操作或者一个完整的业务功能提供一个从失败操作中恢复
    到正常状态的方法,同时保证数据库操作在异常状态下保持一致性。
  • 防止多个应用程序并发访问数据库时,多个应用程序间的操作产生干扰,影响业务功能的正常性。

🌟事务的特性(ACID)

  • 原子性(Atomicity):事务必须是最小的工作单元,一个事务中的所有操作,应该做到:要么全部成功,要么全部失败,否则回滚到初始状态。
  • 一致性(Consistency):事务在开始和结束时,数据必须保持一致状态。通俗说就是让数据保持逻辑上的“合理性”,比如:小明给小红打100块钱,既要让小明的账户减少100,又要让小红的账户上增加100块钱;
  • 隔离性(Isolation):事务的隔离性确保并发执行的事务彼此之间相互隔离,每个事务都感觉不到其他并发事务的存在。独立执行,互不干扰。
  • 持久性(Durability):事务一旦执行成功,数据将会永久保存到数据库中。

🌟事务的隔离级别

隔离级别一览表

隔离级别 描述 现象
读未提交(Read Uncommitted) 最低隔离级别,一个事务可以读取另一个未提交事务的数据。 脏读、不可重复读、幻读都可能发生。
读已提交(Read Committed) 一个事务只能读取已提交事务的数据。 脏读不会发生,但不可重复读和幻读仍然可能发生。
可重复读(Repeatable Read) MySQL默认隔离级别,一个事务在执行过程中多次读取同一行的数据结果都是一致的 脏读和不可重复读不会发生,但幻读仍然可能发生。
串行化(Serializable) 最高隔离级别,对于同一份数据资源同时只允许一个事务进行读写操作。 脏读、不可重复读和幻读都不会发生。

隔离级别举例解读

我们下面来对每个隔离级别,提出具体的例子进行解读,供大家理解。所有的例子都以下表为基础。串行化就不做出具体例子说明了。

id product_name price
1 手机 1000
2 电脑 2000
3 平板 800

读未提交

1.A查询价格表:select * from price;
2.B修改价格表中平板的价格为100,但是并未提交:update set price=100 where id=3;
3.A再次查询价格表时,平板的价格会显示100。

读已提交

1.A查询价格表:select * from price;
2.B修改价格表中平板的价格为200,并提交:update set price=200 where id=3;
3.A再次查询价格表时,平板的价格会显示200。

可重复读

1.A查询价格表:select * from price;
2.B修改价格表中平板的价格为300,并提交:update set price=300 where id=3;
3.A查询价格表时,平板的价格依然是原数据80。

🌟事务控制语句

控制语句 描述
BEGINSTART TRANSACTION 开始一个新的事务
COMMIT 提交当前事务的修改,使其生效,并永久保存到数据库中
ROLLBACK 回滚当前事务的修改,取消事务所做的所有修改
SAVEPOINT savepoint_name 创建一个保存点,用于回滚到特定的保存点
RELEASE SAVEPOINT savepoint_name 删除指定的保存点
ROLLBACK TO SAVEPOINT savepoint_name 回滚到指定的保存点,并取消保存点之后的所有修改

🌟写在最后

最后感谢大家对于本篇博文的阅读,如有不足之处还请大家在评论区留言,以便后续发布更适合大家学习的博文。


【MySQL】MySQL事务保姆级教程(适合MySQL初学者学习),重温MySQL,mysql,学习,数据库文章来源地址https://www.toymoban.com/news/detail-594937.html

到了这里,关于【MySQL】MySQL事务保姆级教程(适合MySQL初学者学习)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 超详细的的PyTorch安装教程,成功率高,适合初学者,亲测可用。

    啰嗦几句: 网上的教程很多,安装的方法多种多样,操作复杂,成功率还不高。 小编在淘宝专门帮助不会安装的小伙伴远程配置环境,这方法都是测试过了,适用大部分人的 ,完全按照文章来操作,基本都是可以安装成功的。 如果你不想再折腾了 ,可能联系 技术客服344

    2024年02月02日
    浏览(22)
  • 适合初学者的机器学习开源项目合集(已加入Github加速计划)

    AI时代已经来临,机器学习成为了当今的热潮。但是,很多人在面对机器学习时却不知道如何开始学习。 今天,我为大家推荐几个适合初学者的机器学习开源项目,帮助大家更好地了解和掌握机器学习的知识。这些项目都是开源的,且已经加入了 Github加速计划 ,可以 快速下

    2024年01月18日
    浏览(32)
  • 【AI人工智能学习】GitHub 上适合初学者的 10 个最佳开源 AI 项目

      温馨提示:AI一定是未来程序员的出路,大家可以早点入坑。 目录 人工智能简介 GitHub 上适合初学者的 10 个最佳开源 AI 项目 Part.1 TensorFlow Part.2 PyTorch Part.3 Keras

    2024年02月04日
    浏览(42)
  • 【Go语言】Golang保姆级入门教程 Go初学者chapter2

    setting的首选项 一个程序就是一个世界 变量是程序的基本组成单位 变量的使用步骤 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zuxG8imp-1691479164956)(https://cdn.staticaly.com/gh/hudiework/img@main/image-20230726152905139.png)] 变量表示内存中的一个存储区 注意:

    2024年02月14日
    浏览(22)
  • 【Go语言】Golang保姆级入门教程 Go初学者chapter3

    下划线“_”本身在Go中一个特殊的标识符,成为空标识符。可以代表任何其他的标识符,但是他对应的值就会被忽略 仅仅被作为站维度使用, 不能作为标识符使用 因为Go语言中没有private public 所以标记变量首字母大写代表其他包可以使用 小写就是不可使用的 注意:Go语言中

    2024年02月13日
    浏览(25)
  • 【Go语言】Golang保姆级入门教程 Go初学者介绍chapter1

    Golang的学习方向 区块链研发工程师: 去中心化 虚拟货币 金融 Go服务器端、游戏软件工程师 : C C++ 处理日志 数据打包 文件系统 数据处理 很厉害 处理大并发 Golang分布式、云计算软件工程师:盛大云 cdn 京东 消息推送 分布式文件系统 2、Golang的应用领域 区块链应用:区块链

    2024年02月15日
    浏览(29)
  • Python爬虫入门(一)(适合初学者)

    关于爬虫是什么,怎样保证爬虫的合法性小编在这就不再过多的阐述,从本章起,小编将和大家一起分享在学习python爬虫中的所学,希望可以和大家一起进步,也希望各位可以关注一下我! 首先我们来初步了解下如何使用开发者工具进行抓包。以 https://fanyi.baidu.com/ 为例。在

    2024年01月24日
    浏览(27)
  • 单片机初学者适合看什么书?

    单片机初学者适合看什么书?其实学习单片机重点就是C语言,其次实践重要,学习单片机不光要看书,建议初学者多多实践,自己做一些尝试性的开发。话不多说,下面就来盘点,初学者单片机编程入门适合看什么书。 1.《51单片机C语言教程》 不是说汇编语言不好,只是相对

    2024年02月12日
    浏览(24)
  • html个人信息表制作(适合初学者)

    编写HTML头部,设置标题和链入外部CSS设置。 在头部设置中,加入了style属性,在初步操作时,大家可以先对属性具体设置空出来,编写玩body部分之后,再回来编写style属性。 那么现在我们来正式编写body部分。 在 body 和 /body 中间设置表格属性。

    2024年02月10日
    浏览(33)
  • 有哪些适合初学者的编程语言?

    那为什么我还要教你C语言呢?因为我想要让你成为一个更好、更强大的程序员。如果你要变得更好,C语言是一个极佳的选择,其原因有二。首先,C语言缺乏任何现代的安全功能,这意味着你必须更为警惕,时刻了解真正发生的事情。如果你能写出安全、健壮的C代码,那你就

    2024年02月09日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包