MySQL基础-003-事务

一、事务的概述
⒈ 事务的概念
事务:指的是逻辑上的一组操作,组成这组操作的各个逻辑单元,要么全都成功,要么全都失败。
⒉ MySQL中的事务管理
⑴ 环境准备

create table account(
	id int primary key auto_increment,
	name varchar(20),
	money double
);

insert into account values (null,'小张',10000);
insert into account values (null,'小凤',10000);

⑵ 转账案例

MySQL基础-003-事务

MySQL基础-003-事务

MySQL基础-003-事务
⒊ 事务的特性:
① 原子性:事务的不可分割,组成事务的各个逻辑单元不可分割。
② 一致性:事务执行的前后,数据完整性保持一致。
③ 隔离性:事务执行不应该受到其他事务的干扰。
④ 持久性:事务一旦结束,数据就持久化到数据库中。


二、事务的隔离级别
⒈ 如果不考虑隔离性,引发一些安全问题
隔离性:一个事务的执行,不应该受到其他事务的干扰。
如果不考虑隔离性(一个事务执行受到其他的事务的干扰),引发一些安全问题,主要体现在读取数据上:
① 脏读:一个事务读到了另一个事务未提交的数据,导致查询结果不一致。
② 不可重复读:一个事务读到了另一个事务已经提交的update的数据,导致多次查询结果不一致。
③ 虚读/幻读:一个事务读到了另一个事务已经提交的insert的数据,导致多次查询结果不一致。
⒉ 解决这些安全性问题:

MySQL基础-003-事务