MYSQL四大特性
1.事务操作数据库的四大特性
1.1原子性 (Atomicity)
原子性:就是事物的所包含的所有操作,要么全部成功,要么全部失败回滚。
1.2一致性 (Consistency)
一致性:简单来说就是在事物执行前和执行后,必须保持数据的一致。
(就好比有四个苹果 不管分给多少个小朋友 最后小朋友们吃的苹果总数量应该就是四个)
1.3隔离性 (Isolation)
隔离性:一个事物执行的过程当中,不能被其他的事物干扰。比如有事物A和事物B,相对于A来说,你B想要执行,要么在我执行之前执行,要么在我执行完毕之后,你再开始执行。
1.4 持久性 (Durability)
持久性:事物被提交之后,他就被永久的存储到了数据库当中
2.如果不考虑事物的隔离性会引起的问题
2.1脏读
一个事物读取到了一个未提交的事物的数据。
2.2不可重复读
在读取数据库的某条数据的时候返回了不同的值,造成这个结果的原因是因为我们在查询了一次之后准备进行第二次查询的这个间隔之间,对我们要进行查询的这条数据进行了修改操作,从而导致两次读取的数据不一致。
(脏读和不可重复读的区别:
脏读是一个事物读取到了一个未提交事物的脏数据,而不可重复读是一个数据读取了一个已经提交了的事物的数据。)
2.3虚度(幻读)
出现幻读不是对一条数据的操作而产生的问题,而是操作多条数据产生的问题,例如:事物A想要对一张表中的某一字段的值进行修改,假设有一