事务的定义
指一组相关的SQL操作,这组操作必须同时成功或者同时失败
我们所有的操作都是处在事务中的。
在数据库中,执行业务的基本单位是事务,不是某一条SQL。数据库在默认情况下,事务都是打开的,也就说它是一直处在事务中的,一个事务的结束,代表着下一个事务的开启。
执行commit或者rollback指令时,会结束当前事务。
作用:用来保证数据的平稳性和可预测性。
事务的四大特性(ACID)
atomic,原子性,事务是不可再分割的,要么同时成功,要么同时失败
consistency,一致性,事务一旦结束,内存中的数据和数据库中的数据是保持一致的
isolation,隔离性,事务之间互不干扰,一个事务的结束意味着下一个事务的开启
duration,持久性,事务一旦提交,则数据持久化到数据库中,永久保存
操作事务的命令
commit,提交事务
把事务中所有的数据持久化到磁盘中
rollback [TO 回滚点],回滚事务
把事务中所做的操作全部取消,回到初始状态
savepoint 回滚点,设置回滚点
事务回滚时,回到的起点
多事务的并发处理机制
原因:多个事务同时操作一个表中的同一行数据,如果这些操作是修改操作的话,就会产生并发问题,如果不处理,则会造成数据不一致的情况。
数据库可能产生的并发问题包括:<