事务
概述:通过一组SQL语句,将数据从一种稳定状态切换到另一种稳定状态
事物的特点(ACID)
- 原子性:一个事务中的所有操作,要么全部完成,要么全部不完成,不会在中间的某一个环节结束,如果事物执行中发生错误,就会
回滚
到事物最开始的状态,就跟没发生过一样 - 一致性:事物从开始到结束,数据库的完整性没有被破坏,也就是说事务的执行须符合逻辑
- 隔离性:数据库允许多个事务同时对数据进行读写和修改,隔离性可以防止多个事务并发执行时由于交叉执行而导致数据的不一致。事务隔离分为不同级别,包括读未提交(Read uncommitted)、读提交(read committed)、可重复读(repeatable read)和串行化(Serializable)。
- 持久性:事务处理完成后,对数据的修改是永久的,也就是说事务执行完了,就算电脑重启、断电了,对执行完成的数据也没有影响
事务分类
隐式事务
INSERT 、UPDATE 、DELETE语句本身就是一个事务
显示事务
BEGIN //开启事务
************SQL语句****************
************SQL语句****************
************SQL语句****************
************SQL语句****************
COMMIT; //结束事务
如果执行事务的过程中发生错误则会回滚
BEGIN //开启事务 返回到开始状态
************SQL语句****************↑↑↑↑↑
************SQL语句****************↑↑↑↑↑
************SQL语句****************↑↑↑↑↑
************出错语句****************//出错之后回滚
ROLLBACK;