SQL分类

DDL:Data Definition Language,用于定义和管理数据库中的对象,例如表、视图、索引、存储过程、触发器等。

DCL: Data Control Language,数据控制语言,用于控制数据库用户的访问权限,包括GRANT、REVOKE等语句。

DML: Data Manipulation Language,数据操作语言,用于对数据库中的数据进行增删改操作,包括INSERT、UPDATE、DELETE等语句。

**DQL:**Data Query Language,数据查询语言,用于查询数据库中的数据,包括SELECT语句。

事务

事务具有四大特性ACID

  1. 原子性(Atomicity)

单个事务,为一个不可分割的最小工作单元,整个事务中的所有操作要么全部commit成功,要么全部失败rollback,对于一个事务来说,不可能只执行其中的一部分SQL操作,这就是事务的原子性。

  1. 一致性(Consistency)

数据库总是从一个一致性的状态转换到另外一个一致性的状态。在前面的例子中, 一致性确保了,即使在执行第三、四条语句之间时系统崩溃,信用卡账户也不会损 失100块,因为事务最终没有提交,所以事务中所做的修改也不会保存到数据库中,保证数据一致性。

  1. 隔离性(Isolation)

通常来说,一个事务所做的修改在最终提交以前,对其他事务是不可见(隔离)的。避免多个事务并发执行的时候不会互相干扰。

  1. 持久性(Durability)

一旦事务提交,则其所做的修改就会永久保存到数据库中,之后的其他操作或故障都不会对事务的结果产生影响。

ACID 具体实现