热门课程

免费试听

上课方式

开班时间

当前位置: 首页 -   文章 -   新闻动态 -   正文

MySQL 事务介绍

知了堂姐
2024-07-08 17:22:16
0

MySQL 事务介绍

MySQL 和其它的数据库产品有一个很大的不同就是事务由存储引擎所决定,例如 MYISAM,MEMORY,ARCHIVE

都不支持事务,事务就是为了解决一组查询要么全部执行成功,要么全部执行失败。

MySQL 事务默认是采取自动提交的模式,除非显示开始一个事务。

SHOW VARIABLES LIKE 'AUTOCOMMIT';

修改自动提交模式,0=OFF,1=ON

注意:修改自动提交对非事务类型的表是无效的,因为它们本身就没有提交和回滚的概念,还有一些命令是

会强制自动提交的,比如 DLL 命令、lock tables 等。

SET AUTOCOMMIT=OFF或 SET AUTOCOMMIT=0

1 事务的四大特征是什么?

数据库事务 transanction 正确执行的四个基本要素。ACID,原子性(Atomicity)、一致性(Correspondence)、隔离性

(Isolation)、持久性(Durability)。

(1) 原子性:整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节。事务在执行过程中

发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。

(2) 一致性:在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏。

(3) 隔离性:隔离状态执行事务,使它们好像是系统在给定时间内执行的唯一操作。如果有两个事务,运行在相同的时间

内,执行 相同的功能,事务的隔离性将确保每一事务在系统中认为只有该事务在使用系统。这种属性有时称为串行化,为了防

止事务操作间的混淆, 必须串行化或序列化请 求,使得在同一时间仅有一个请求用于同一数据。

(4) 持久性:在事务完成以后,该事务所对数据库所作的更改便持久的保存在数据库之中,并不会被回滚。

2 Mysql 中四种隔离级别分别是什么? 

读未提交(READ UNCOMMITTED):未提交读隔离级别也叫读脏,就是事务可以读取其它事务未提交的数据。

读已提交(READ COMMITTED):在其它数据库系统比如 SQL Server 默认的隔离级别就是提交读,已提交读隔离

级别就是在事务未提交之前所做的修改其它事务是不可见的。

可重复读(REPEATABLE READ):保证同一个事务中的多次相同的查询的结果是一致的,比如一个事务一开始查询

了一条记录然后过了几秒钟又执行了相同的查询,保证两次查询的结果是相同的,可重复读也是 mysql 的默认隔离级别。

可串行化(SERIALIZABLE):可串行化就是保证读取的范围内没有新的数据插入,比如事务第一次查询得到某个范围的

数据,第二次查询也同样得到了相同范围的数据,中间没有新的数据插入到该范围中。

大家都在看

计算机专业准大一新生,学习攻略请查收

2024-07-08 浏览次数:0

知了堂ZVipPad 4.0版本升级,赋能IT学...

2024-07-08 浏览次数:0

零基础能学JAVA开发吗

2024-07-08 浏览次数:0

我们在这里,不等风只等你

2024-07-08 浏览次数:0

Java培训学校哪个好?靠谱得Java培训少不了...

2024-07-08 浏览次数:0

【网络安全】插件技术被浏览器抛弃,网银安全何去何...

2024-07-08 浏览次数:0
最新资讯