0
点赞
收藏
分享

微信扫一扫

MySQL基础(9)-事务

眸晓 2022-03-24 阅读 109

文章目录

                十一.事务:一组操作的集合

        ①事务简介

        ②事务操作

        ③事务四大特性(ACID)

        ④并发事务问题

        ⑤事务隔离级别


十一.事务:一组操作的集合

①事务简介

事务 是一组操作的集合,它是一个不可分割的工作单位,事务会把所有操作作为一个整体一起向系统提交或撤销操作请求,既这些操作要么同时成功,要么同时失败。

②事务操作

1)查看/设置事务提交方式

 # 查看事务提交方式:SELECT @@AUTOCOMMIT;

 # 设置事务提交方式:SET @@AUTOCOMMIT = 0 或 1;

注意:
 · MySQL的事务是默认自动提交的。
 · AUTOCOMMIT = 1 是自动提交,AUTOCOMMIT = 0 是手动提交。
 · @@表示查看当前系统的变量信息。

2)提交事务

 # COMMIT;

3)回滚事务

 # 执行过程中出现异常:ROLLBACK;

③事务四大特性(ACID)

 · 原子性(ATOMICITY):事务是不可分割的最小操作单元,要么全部成功,要么全部失败。

 · 一致性(CONSISTENCY):事务成功时,必须使所有数据都保持一致状态。

 · 隔离性(ISOLATION):数据库系统提供的隔离机制,保证事务在不受外部并发操作影响的独立环境下运行。

 · 持久性(DURABILITY):事务一旦提交或回滚,它对数据库中的数据的改变就是永久的。

④并发事务问题

问题描述
脏读一个事务读到另外一个事务还没有提交的数据。
不可重复读一个事务先后读取同一条记录,但两次读取的数据不同。
幻读一个事务按照条件查询数据时,没有对应的数据行,但在插入数据时,又发现这行数据已经存在,好像出现了“幻影”。

⑤事务隔离级别

隔离级别脏读不可重复读幻读
Read uncommited
Read commited×
Repeatable Read××
Serializable×××
 # 查询事务隔离级别:SELECT @@TRANSACTION_ISOLATION;

 # 设置事务隔离级别:SET [SESSION / GLOBAL] TRANSACTION ISOLATION LEVEL {READ UNCOMMITED / Read COMMITED / REPEATABLE READ / SERIALIZABLE};

注意:
 · SESSION代表当前客户端会话窗口有效。
 · GLOBAL代表所有客户端会话窗口有效。
举报

相关推荐

MySQL-9. 事务

MySQL基础-事务

MySQL基础9

MySQL--基础--事务

MySQL基础篇 - 事务

MySQL事务--基础(课堂笔记)

0 条评论