1、DQL (Data Query Language)是用来查询数据库中的数据的语言,如 SELECT 语句
2、DML (Data Manipulation Language)是用来操作数据库中的数据的语言,如插入、更新、删除数据等,在DML中支持事务的提交和回滚操作。
3、DDL (Data Definition Language)是用来定义数据库结构的语言,如创建表、修改表结构等。
DDL 语句都会导致事务隐式提交。当你在执行 DDL 语句后,事务已经提交。所以 DDL 语句的事务不能 rollback。
4、DCL (Data Control Language)是用来控制数据库访问权限的语言,如赋予、收回用户权限等。
常见的DCL操作有授权和回收数据库上的权限所使用的 GRANT、REVOKE 等。这里的事务也是隐式提交,不能回滚。
除了 GRANT 和 REVOKE 之外,其他的创建、更新或者删除用户的操作也会导致事务隐式提交。主要有:CREATE USER/DROP USER/ALTER USER/SET PASSWORD