事务(一):概念、原理及特性

一、事务的概念:一组不可被分割执行的SQL语句集合。

数据库区分于文件系统的重要特征之一。

二、事务的基本原理及作用:

1、开启事务的本质是——关闭了自动提交的功能,改为commit手动提交。

自动提交的特征——保存在服务的一个autocommit的变量里,可修改。

设置自动提交模式:set autocommit=0;

2、如果不开启事务,只执行一条sql语句,马上就会持久化数据。即:普通执行就是立即提交,提交就会将结果持久化。

原因—— MySQL默认对sql语句的执行是自动提交。

每条sql语句都是同一事务的不同命令,之间由commit或rollback隔开。掉线后,无commit的事务都被放弃。

3、注意:事务类似于外键约束,纸杯InnoDB引擎支持。

三、事务的四大特性(“ACID”原则)

1. 原子性(Atomicity)

事务的操作要么完全成功,要么就回滚。只有事务中所有的数据库操作都执行成功,才能算整个事务成功。对数据库要么就是完全正确的数据,要么就不记录任何数据。

2. 一致性(Consistency)

事务发生前后,数据库只能从一致性的一个状态,转换为另一个一致性的状态。

在事务开始之前和结束之后,数据库的完整性约束没有被破坏。

3. 隔离性(Isolation)

多个事务并发操作时,事务之间不会相互影响。

每一个读写事务的对象对其他事务的操作对象相互分离。

即该事物提交之前,对其他事务都不可见(实现方法:锁)

4. 持久性(Durability)

一旦事务提交,数据就会持久化在数据库中,不可能再被回滚的。(执行成功后必须全部写入磁盘)

你可能感兴趣的:(数据库)