一.事务的概念
将一组sql语句放到同一批次去执行,如果一个sql语句出现错误,则该批次内的所有sql都会被取消执行
二.事务的四大特性
原子性:数据库中的事务是作为原子颗粒不可再分,整条语句要么执行,要么不执行
一致性:事务开始之前和结束以后,数据库的完整性约束没有被破坏
隔离性:事务的执行是互不干扰的,一个事务不可能看到其他事务运行时,中间某一刻的数据
持久性:事务完成以后,该事务对数据库所做的更改持久的保存在数据库中,并不会回滚
事务的隔离级别
1.READ_UNCOMMITED 读未提交
事务读取不加锁
能读到未提交的数据,会出现脏读,不可重复读,幻读
2.COMMITED 读提交
事务读取:加读锁
读已提交的数据,会出现不可重复读,幻读
解决问题:脏写 脏读
3.REPEATABLE_READ 可重复读
事务读取:加读锁
mysql默认的事务隔离级别
查询的事务 都是开始时的数据,只会出现幻读
4.SERIALIZABLE 串行化
每次完成串行化读,都会锁表,读写互相阻塞
最高级别的隔离
不会出现脏写,脏读,不可重复读,幻读
但大大影响系统的性能,将事务的隔离级别变成顺序执行