目录
1,什么是事务
事务指的是,数据库管理执行过程中的一个逻辑单位。它可以维护数据库的完整性,它保证数据要么全部执行,要么全部不执行。
2,事务的四大特性(ACID)
四大特性指的是原子性,一致性,隔离性,持久性
原子性(Atomicity):原子性可以保证数据执行要么全部完成,要么全部不完成,它是最小的执行单位。
一致性(Consistency):事务执行前后,都处于一致性的状态(假设A存款为5000元,B存款为5000元。A向B进行转账操作,转账金额为1000元,事务执行成功后,A存款变为4000元,B存款6000元,但是A和B金额的总额还是为10000元。)
隔离性(Isolation):数据库允许多个事务同时对数据进行读,写,修改。隔离性可以防止由于多个事务并发操作执行,导致数据不一致。
持久性(Durability):事务执行后,对数据库中的数据修改是永久的,即便计算机系统故障,也不会丢失数据。
3,事务的隔离级别
读未提交(Read uncommitted ):一个事务可以读取到另外一个事务还未提交的数据。在并发操作下,会产生脏读,不可重复读,幻读。
读已提交(Read committed):一个事务要等到另外一个事务提交之后才能读取到数据。这种隔离级别会解决脏读,在并发操作下,会产生不可重复读,幻读。
可重复读(Repeatable read):事务隔离级别的默认等级,即事务开启时,不允许再对数据进行修改,解决了不可重复读,在并发操作下会产生幻读。
串行化(Serializable):事务隔离级别的最高等级,在该级别下,事务按串行化顺序执行。它解决了脏读,不可重复读,幻读,在实际操作中一般不设置,因为它效率低下。
4,脏读,不可重复读,幻读
脏读:一个事务读取到另外一个事务还未提交的数据
不可重复读:指在同一个事务内,多次读取同一条件的数据,数据的条数相同,但是数据的值不同
幻读:指的是我们在数据库中,去查询一条数据,发现没有该数据,后面我们对其去进行添加,发现添加不进去,以为自己产生了幻觉。