2、演示环境
数据库及工具
➢MySQL版本
 5.5.47
 ➢数据库工具
 Navicat for MySQL
数据库命令
➢查看数据库版本:
select version();
 
➢查看数据库现在的隔离级别:
select @@session.tx_ isolation;
 
➢修改隔离级别:
set @@session.tx_ _isolation=级别参数;
 
➢级别参数:
READ-UNCOMMITTED,READ-COMMITTED,REPEATABLE-READ (MySQLinnoDB的默认隔离级别) ,SERIALIZABLE;
 ➢开启事务:
start transaction;
 
➢提交/回滚:
commit; 
rollback; 
 
数据库表
DROP TABLE IF EXISTS `account`;
CREATE TABLE `account` (
  `id` int NOT NULL AUTO_INCREMENT,
  `name` char(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
  `balance` double(32,0) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
INSERT INTO `account` VALUES (1, '张三', 1000);
INSERT INTO `account` VALUES (2, '李四', 1000);
INSERT INTO `account` VALUES (3, '王五', 1000);
 
3、读未提交
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WFRwNj7H-1690892765110)(数据库事务隔离级别实战.assets/image-20201207190616844.png)]](https://img-blog.csdnimg.cn/4da35ad130984869b5684b6e4d992d3b.png)
修改隔离级别:
set @@session.tx_ _isolation=READ-UNCOMMITTED;
 
READ-COMMITTED,REPEATABLE-READ (MySQLinnoDB的默认隔离级别) ,SERIALIZABLE;
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DebxQHS5-1690892765111)(数据库事务隔离级别实战.assets/image-20201207190754257.png)]](https://img-blog.csdnimg.cn/047628f170304401964729dac65bbf58.png)
4、读已提交
修改隔离级别:
set @@session.tx_ _isolation=READ-COMMITTED;
 
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JfHfrkcj-1690892765111)(数据库事务基本概念.assets/image-20201207174306584.png)]](https://img-blog.csdnimg.cn/f56886f9965a4e59bdc6e3880a510a5f.png)
5、可重复读
修改隔离级别:
set @@session.tx_ _isolation=REPEATABLE-READ;
 
(MySQLinnoDB的默认隔离级别)
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3csTCxV4-1690892765111)(数据库事务基本概念.assets/image-20201207174452470.png)]](https://img-blog.csdnimg.cn/efdc098ce96444fb8850119047318fee.png)
6、可串行化
修改隔离级别:
set @@session.tx_ _isolation=SERIALIZABLE;
 
没有模拟 效率太低 不建议使用



















