mysql中事务以及事务隔离级别的详解(代码片段)

路宇 路宇     2022-12-03     331

关键词:

博主前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住也分享一下给大家,
👉点击跳转到网站

一、MySQL 中事务的理解


二、演示事务的基本使用

DROP TABLE t27;
-- 1.创建一张测试表
CREATE TABLE t27(
id INT,
`name` VARCHAR(32)
);

-- 2.开启事务
START TRANSACTION

-- 3.设置保存点
SAVEPOINT a
-- 执行DML操作
INSERT INTO t27 VALUES(100,'tom');
SELECT * FROM t27;

SAVEPOINT b
-- 执行DML操作
INSERT INTO t27 VALUES(200,'jack');

-- 回退到b
ROLLBACK TO b

-- 继续回退 a
ROLLBACK TO a

-- 如果这样,表示直接回退到事务开始的状态
ROLLBACK

三、回退事务和提交事务的介绍


四、MySQL事务细节讨论

对应的SQL语句如下

-- 讨论 事务细节

INSERT INTO t27 values(300,'milan'); -- 自动提交 commit

SELECT * FROM t27;

-- 如果开始一个事务,你没有创建保存点,你可以执行rollback
-- 默认就是回退到你事务开始的状态
START TRANSACTION
INSERT INTO t27 VALUES(400,'King');
INSERT INTO t27 VALUES(500,'scott');

ROLLBACK -- 直接回退到事务开始的状态

COMMIT

-- INNODB 存储引擎支持事务,MyISAM不支持		


-- 开启事务 START TRANSACTION 也可以这样写SET autocommit=off
SET autocommit=off

INSERT INTO t27 VALUES(400,'King');
INSERT INTO t27 VALUES(500,'scott');

SELECT * FROM t27;
ROLLBACK

五、MySQL中的事务隔离级别

1、事务隔离级别的介绍

2、脏读,不可重复度,幻读的理解

3、事务的4隔离级别如下

4、查看与设置隔离级别

对应的SQL代码如下

-- 演示mysql事务的隔离级别

-- 1.开了两个mysql的控制台
-- 2.查看当前mysql的隔离级别

SELECT @@transaction_isolation;

-- +-------------------------+
-- | @@transaction_isolation |
-- +-------------------------+
-- | REPEATABLE-READ         |
-- +-------------------------+

-- 3.把其中一个控制台的隔离级别设置 READ-UNCOMMITTED
SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;

CREATE TABLE `account`(
id INT,
name VARCHAR(32),
money INT
);
-- 查看当前会话隔离级别
SELECT @@transaction_isolation;

-- 查看系统当前隔离级别
SELECT @@global.transaction_isolation;

-- 设置当前会话隔离级别
SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ;

-- 设置系统当前隔离级别
SET GLOBAL TRANSACTION ISOLATION LEVEL [你设置的级别];

六、事务ACID的特性

mysql—mysql数据库事务的基本概念以及隔离级别(代码片段)

详细介绍了Mysql数据库事务的基本概念、并发事务的问题、事物的实现原理以及隔离级别。在数据库中,事务是数据库操作的最小逻辑工作单元,一个事务是由一个或多个完成一组的相关行为的SQL语句组成,通过事务... 查看详情

mysql的事务详解(代码片段)

...ySQL✨一句短话:难在坚持,贵在坚持,成在坚持!文章目录一.事务的业务场景二.事务的使用三.事务的特性(ACID)1.原子性(Atomicity)2.一致性(Consistency)3.持久性(Durability)4.隔离性(Isolation)四.事务并发异常1.脏读2.不可重复读3.幻读四.MySQL的... 查看详情

mysql—4种隔离级别以及mvcc一致性视图的实现原理(代码片段)

详细介绍MySQL数据库事务隔离级别的实现原理,以及MVCC一致性视图的概念和实现。上一篇文章中,我们介绍了数据库事务的基本特性以及隔离级别。下面我们来看看MySQL事务隔离级别的实现原理,以及经常被提到的MVCC... 查看详情

mysql的事务四个特性以及事务的四个隔离级别(代码片段)

一、事务四大属性分别是原子性、一致性、隔离性、持久性。1、原子性(Atomicity)原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能... 查看详情

mysql的事务四个特性以及事务的四个隔离级别(代码片段)

一、事务四大属性分别是原子性、一致性、隔离性、持久性。1、原子性(Atomicity)原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能... 查看详情

数据库事务事务隔离级别以及锁机制详解

...,纯属个人学习总结,不对的地方还请指出! 什么是事务?事务是作为一个逻辑单元执行的一系列操作,要么一起成功,要么一起失败。一个逻辑工作单元必须有四个属性,称为ACID(原子性、致性、隔离性和持久性)属性... 查看详情

mysql事务readcommitted隔离级别的数据可见性(代码片段)

模拟MySQL事务ReadCommited已提交读隔离级别数据的可见性。预先创建一张表test,表中只有一个字段state。createtabletest(stateintnotnull)engine=InnoDBcharset=utf8mb4;在两个终端中分别开启两个事务:事务的隔离级别是ReadCommitted结论:在ReadCommitt... 查看详情

mysql事务隔离级别锁相关的详解

MySQLInnoDB引擎中的事务详解!事务是什么?事务就是可以使一组操作要么全部成功要么全部失败,事务的目的是为了保证数据的最终一致性。举个例子:张三给李四的微信转了1000块红包。那自然李四的微信余额会扣减1000块,而... 查看详情

mysql原理篇之事务隔离级别和mvcc--13(代码片段)

Mysql原理篇之事务隔离级别和MVCC--13事前准备事务隔离级别事务并发执行遇到的问题SQL标准中的四种隔离级别MySQL中支持的四种隔离级别如何设置事务的隔离级别MVCC原理版本链ReadViewREADCOMMITTED——每次读取数据前都生成一个ReadView... 查看详情

事务与mysql隔离级别(代码片段)

事务定义:比如ABCD四个业务,作为一个事务,他们要么一起都执行完毕,要么都不执行。(只要有一个不成功,那么所有的都不可以成功)四个特性ACID原子性(Atomicity)整个事务中的所有操作,要么全都完成,要么全部不完成。事务... 查看详情

mysql事务隔离级别(代码片段)

MySQL的事务必须满足A(原子性)C(一致性)I(隔离性)D(持久性)原则。其中,隔离性是为了尽量减少并发事务彼此之间的影响,最高的隔离级别可以保证并发事务之间互不影响。  在... 查看详情

mysql事务隔离级别详解(代码片段)

一、什么是事务?事务是逻辑上的一组操作,要么全执行,要么全不执行。事务最经典栗子也经常被拿出来的栗子就是银行转账了。比如小明要给小红转账1000元,这个转账会涉及到两个关键操作:将小明的余... 查看详情

mysql进阶mysql事务详解(代码片段)

...详解8【MySQL基础】MySQL多表操作详解文章目录前言1,事务概念2,事务四大特性2.1,原子性2.2,一致性2.3,隔离性2.4,持久性3,事务基本操作3.1,开启事务3.2,回滚事务3.3,提交事务3.4,... 查看详情

mysql事务隔离级别(代码片段)

1.隔离级别1.1理论MySQL中事务的隔离级别一共分为四种,分别如下:序列化(SERIALIZABLE)可重复读(REPEATABLEREAD)提交读(READCOMMITTED)未提交读(READUNCOMMITTED)四种不同的隔离级别含义分别如... 查看详情

mysql事务隔离级别(代码片段)

1.隔离级别1.1理论MySQL中事务的隔离级别一共分为四种,分别如下:序列化(SERIALIZABLE)可重复读(REPEATABLEREAD)提交读(READCOMMITTED)未提交读(READUNCOMMITTED)四种不同的隔离级别含义分别如... 查看详情

数据库事务的四大特性以及事务的隔离级别(代码片段)

....cnblogs.com/fjdingsd/p/5273008.html   本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别。  如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性:⑴原子性(Atomicity)... 查看详情

mysql事务详解(代码片段)

🏆今日学习目标:🍀Spring事务和MySQL事务详解✅创作者:林在闪闪发光⏰预计时间:30分钟🎉个人主页:林在闪闪发光的个人主页 🍁林在闪闪发光的个人社区,欢迎你的加入: 林在闪闪发光... 查看详情

数据库事务——事务隔离级别(代码片段)

文章目录数据库的事务隔离级别MySQL的事务隔离级别的实现1.READUNCOMMITTED&READCOMMITTED:2.REPEATABLEREAD:3.SERIALIZABLE:MySQL事务小细节事务可以嵌套吗?如何实现可重复读?如何解决幻读问题?MySQL事务的回滚... 查看详情