1.事务概念:如果一个包含多个步骤的业务操作,被事务管理,那么这些操作要么同事成功,要么同时失败。
2.操作:
(1)开启事务 start transaction
(2)回滚 rollback
(3)提交 commit
3.事务提交方式:
MySQL数据库中的事务默认自动提交
事务提交的两种方式:
(1)自动提交:mysql是自动提交
一条DML(增删改)语句会自动提交一次事务
(2)手动提交:需要先开启事务,再提交
修改事务的默认提交方法:
查看事务的默认提交方式:select @@autocommit
修改默认提交方式:set @@autocommit = 0; (此时修改表中数据,不提交不会生效)
4.事务四大特征:
(1)原子性:是不可分割的最小单位,同时成功或失败
(2)持久性:当事务提交或回滚后,数据库会持久化的保存数据
(3)隔离性:多个事务之间相互独立
(4)一致性:事务操作前后,数据总量不变
5.事务隔离级别
(1)read uncommitted :读为提交
(2)read committed :读已提交(Oracle)
(3)repeatable read:可重复读(MySql默认)
(4)serializable:串行化(可解决所有问题)
从1-4安全性越来越高,但是效率越来越低。
数据库查询隔离级别:select @@tx_isolation;
数据库设置隔离级别:set global transaction isolation level 级别字符串;