在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

MySQL中事务控制对的示例分析

88次阅读
没有评论

共计 1817 个字符,预计需要花费 5 分钟才能阅读完成。

自动写代码机器人,免费开通

这篇文章主要介绍 MySQL 中事务控制对的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

什么是事务控制

事务是指作为一个逻辑工作单元执行的一系列操作,这些操作要么全部成功,要么全部失败。事务确保了多个数据的修改作为一个单元来处理。

在 MySQL 中,只有使用了 Innodb 存储引擎的数据库或表才支持事物

事务用于维护数据库的完整性,保证成批的 sql 语句要么都执行,要么都不执行

事务用于管理 INSERT、UPDATE 和 DELETE 语句

假如,张三在 ATM 机上给李四转账 100 元,在银行的业务系统中,主要会执行两步数据变更操作:

从张三的账户减去 100 元

给李四的账户增加 100 元

试问,如果操作 1 执行成功,操作 2 执行失败会发生什么?

事务的四个特性

如果某个数据库支持事务,那么该数据库必须具备 ACID 四个特性,即 Atomicity(原子性)、Consistency(一致性)、Isolation(隔离性)、Durability(持久性)。

原子性:事务必须是原子工作单元,事务中包含的各操作要么都做,要么都不做

一致性:事务在执行完成时,必须使所有的数据都保持一致状态

隔离性:事务独立运行。多个事务之间相互隔离,互不干扰。事务的 100% 隔离,会牺牲速度

持续性:事务执行完成之后,它对系统的影响是永久性的

MySQL 的事务控制

在默认情况下,MySQL 是自动提交事务的,即每一条 INSERT、UPDATE、DELETE 的 SQL 语句提交后会立即执行 COMMIT 操作。因此,要开启一个事务,可以使用 start transaction 或 begin,或者将 autocommit 的值设置为 0.

方法一:MySQL 中事务控制对的示例分析

方法二:MySQL 中事务控制对的示例分析

例子

登陆数据库,使用 student 数据库并查看所有的数据表

USE student;SHOW TABLES;

MySQL 中事务控制对的示例分析
2. 创建 bank_account 数据表并插入两条记录,设置张三的 balance 字段值 +1000

CREATE TABLE bank_account(
 id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
 name VARCHAR(30) COMMENT  姓名 ,
 balance DECIMAL(18, 2) COMMENT  账户余额 INSERT INTO bank_account(id, name, balance) VALUE(1,  张三 , 0);INSERT INTO bank_account(id, name, balance) VALUE(2,  李四 , 0);UPDATE bank_account SET balance = balance + 1000 WHERE id = 1;

MySQL 中事务控制对的示例分析
3. 查看默认的 autocommit 值

SELECT @@autocommit;

MySQL 中事务控制对的示例分析
4. 查看 bank_account 数据表所有记录

SELECT * FROM bank_account;

MySQL 中事务控制对的示例分析
5. 开始事务控制并执行两条 SQL 语句

START TRANSACTION;UPDATE bank_account SET balance = balance - 100 WHERE id = 1;UPDATE bank_account SET balance = balance + 100 WHERE id = 2;COMMIT;

MySQL 中事务控制对的示例分析
6. 查看此时数据表的内容

SELECT * FROM bank_account;

MySQL 中事务控制对的示例分析
7. 再次开始事务控制,同样插入两条一样的 SQL 语句,但将 commit(提交) 变为 rollback(回滚)

START TRANSACTION;UPDATE bank_account SET balance = balance - 100 WHERE id = 1;UPDATE bank_account SET balance = balance + 100 WHERE id = 2;ROLLBACK;

MySQL 中事务控制对的示例分析
8. 再次查看数据表内容,发现回滚之后数据无变化

SELECT * FROM bank_account;

MySQL 中事务控制对的示例分析
注:本文是博主 MySQL 学习的总结,不支持任何商用,转载请注明出处!如果你也对 MySQL 学习有一定的兴趣和理解,欢迎随时找博主交流~

以上是“MySQL 中事务控制对的示例分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注丸趣 TV 行业资讯频道!

向 AI 问一下细节

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-04发表,共计1817字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 爱爱视频网站免费 | 日韩精品欧美精品中文精品 | 黄色毛片在线看 | 国产欧美日韩一区二区三区在线 | 一本到免费视频 | 全黄h全肉边做边吃奶视频 全黄激性性视频 | 91免费视频网| 久草视频免费看 | 少妇被后进高潮动态图gif | 精品偷拍一区二区三区在线看 | 一本大道久久香蕉成人网 | 国产日韩欧美精品一区二区三区 | 91网站免费观看 | 免费1级a做爰片在线观看 | 国产日韩精品一区二区在线观看 | 久久亚洲国产精品影院文轩探花 | 五月天婷婷爱 | 日韩欧美一区二区三区不卡视频 | 嫩草伊人久久精品少妇av | 中文字幕日韩人妻在线视频 | 成人天堂网 | 中文字幕禁忌乱偷在线 | 国模伊人 | 亚洲爱视频 | 亚洲欧美色中文字幕 | 尤物视频在线观看免费 | 精品牛牛影视久久精品 | 亚洲三级在线免费观看 | 欧洲丰满少妇做爰视频爽爽 | 国产一区二区女内射 | 久久久毛片 | 肉大捧一进一出免费视频 | 日本强伦姧熟睡人妻完整视频 | 午夜日韩视频 | 免费99 | 成人h无码动漫在线观看 | 一级成人毛片 | 美女脱了内裤张开腿让男人添软件 | 欧美一欧美一区二三区性 | 午夜久久久久久禁播电影 | 性一交一乱一伦一色一情丿按摩 |