事务的概念:一个事务其实就是一个完整的业务逻辑,是一个最小的工作单元,不可再分,说到底,一个事务其实就是多条DML语句同时成功,或者同时失败.
只有DML(insert,delete,update)语句才有事务这一说,其他语句和事务无关.
InnoDB存储引擎:提供了一组用来记录事务性活动的日志文件.
在事务的执行过程中,每一条DML的操作会记录到记录事务性活动的日志文件中.
在事务的执行过程中,我们可以提交事务,也可以回滚事务.
提交事务(commit):
清空记录事务性活动的日志文件,将数据全部彻底持久化到数据库表中.
提交事务标志着,事务的结束,并且是一种全部成功的结束.
回滚事务(rollback,回滚永远只能回回滚到上一次的提交点):
将之前的所有DML操作全部撤销,并且清空记录事务性活动的日志文件.
回滚标志着事务的结束,并且是一种全部失败的结束.
事务对应的英文单词:transaction.
mysql在默认情况下是支持自动提交事务的,没执行一条DML语句,则提交一次.
关闭mysql得到自动提交机制:start transaction;
事务的4个特性:
A:原子性
说明事务是最小的工作单元,不可再分.
C:一致性
所有的事务要求,在同一个事务当中,所有操作必须同时成功,或者同时失败,以保证数据的一致性.
I:隔离性
A事务和B事务之间具有一定的隔离
D:持久性
事务最终结束的一个保障,事务提交,就相当于将没有保存到硬盘上的数据保存到硬盘上.