2020_06_18Mysql事务

1、事务的基本介绍

  1.概念:一个包含多个步骤的事务,被事务管理,要么同时成功,要么同时失败。

  2.操作:

  2.1 开启事务:start transaction;

  2.2 回滚:rollback;

  2.3 提交:commit

  set @@autocommit; -- 1 代表自动提交 0 代表手动提交

2、事务的四大特征

  2.1 原子性:是不可分割的最小操作单位,要么同时成功,要么同时失败

  2.2 持久性:当事务提交或回滚后,数据库会持久化的保存数据

  2.3 隔离性:多个事务之间,相互独立

  2.4 一致性:事务操作前后,数据总量不变

3、事务的隔离级别

  3.1 概念:多个事务之间隔离的,相互独立的。但是如果多个事务操作同一批数据,则会引发一些问题,设置不同的隔离级别就可以解决这些问题。

  存在问题:

  3.1.1 脏读:一个事务,读取到另一个事务中没有提交的数据

  3.1.2 不可重复度:在同一个事务中,两次读取到的数据不一样

  3.1.3 幻读:一个事务操作DML数据表中所有的记录,另一个事务添加了一条数据,则第一个事务查询不到自己的修改

  3.2 隔离级别

  3.2.1 read uncommitted:读未提交

  3.2.2 read committed:读已提交

  3.2.3 repeatable read:可重复度

  3.2.4 serializable:串行化 可以解决所有的问题

 *注意 :隔离级别从小到大安全性越来越高,但是效率越来越低

  数据库查询隔离级别:*select @@tx_isolation;

  *数据库设置隔离级别:

  *set global transaction isolation level 级别字符串

  mysql 默认的repeatable read  

  

 

posted @ 2019-12-29 22:01  凉凉12  阅读(123)  评论(0)    收藏  举报