1.事务的特性:
(1)原子性:要么全部成功提交,要么全部失败回滚。
(2)一致性:事务将数据库从一种一致性状态转换到另一种一致性状态,事物的开始前和结束后数据库中的数据的完整性没有被破坏(列如:转账之后,有减少的账户,有对应增加的账户。而钱的总数没变)
(3)隔离性:事务对数据库中数据的修改,在未提交完成前对于其他事务是不可见的。
四种隔离级别
未提交读:(脏读) 事务没有提交,对于其他事务也是可见的
已提交读: 一个事务没有提交前对于其他事务都是不可见的
可重复读: 应用:现在有两个数据库连接A,B都操作同一数据库的同一张表。A,B都已开启事务。A进行查询操作,此时B连接执行插入数据的操作,并且已提交事务。A再进行查询,也不会看到新提交的数据。所以重复读的数据还是没变。
可串行化 :读取的每一行数据都加锁,很少使用。隔离级别最高
(4)持久性:事务只要提交了,所做的修改就会永远保存的数据库,即使系统崩溃。