事务的特性(acid)

  1. 原子性:一个事务不可以再分割,要么全执行,要么全不执行
  2. 一致性:一个事务的执行,会让数据从一个一致状态转换到另一个一致状态
  3. 隔离型:一个事务的执行不受另一个事务的影响
  4. 持久性:一个事务一旦提交,那么就会永久改变数据库的数据

事务的创建

隐式事务

事务没有明显的开启和结束标记,比如insert、delete、update语句。原因就是隐式事务遵守自动提交。

显示事务

前提:

因为隐式事务遵守自动提交,所以我们先要关闭自动提交

# 关闭自动提交
set autocommit = 0;

步骤:

1、开启事务

set autocommit = 0;
start transaction;(可以忽略)

2、编写事务中的sql语句

insert、delete、select、update

3、结束事务(2选1)

  • commit 提交
  • rollback 回滚

保存点

数据库可能会出现的几种并发问题

脏读侧重点在更新,幻读的侧重点在插入或删除,不可重复读的侧重点在两次读取中发生了更新

事务的隔离级别

一个事务与其他的事务的隔离程度叫做隔离级别。数据库规定了多种事务的隔离级别,不同的隔离级别对应不同的干扰程度,隔离级别越高,数据一致性就越好,但是并发性就越弱。

数据库提供了四种隔离级别

关于隔离级别的一些命令

查看隔离级别

select @@tx_isolation;

设置隔离级别

set session|global transaction isolation level 隔离级别;
最后修改日期:2020-07-13

作者

留言

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。