NingG +

SQL语言中DDL、DML、DCL、TCL简介

SQL(Structured Query Language,结构化查询语言),是操作RDBMS(relational database management system,关系型数据库管理系统)的专用语言。 SQL的众多命令,例如,create、drop、insert、grant等,可以被分为4类:

DDL

定义数据库的三级结构,包括外模式、概念模式、内模式以及相互之间的映像,定义数据的完整性、安全控制等约束。(有安全控制?) DDL,不需要commit。

思考:DDL,不需要commit?commit的作用是什么?

DML

对应数据库的增删改查(CRUD)操作。DML分为交互型DML和嵌入型DML两类。依据语言级别,DML又可分为过程性DML和非过程性DML两种。需要commit。

DCL

数据库控制语言,授权、角色控制等

TCL

设置事务控制(不同SQL的实现方式,支持程度不同),通常针对DML语句。

小结

为什么将SQL,细分为DDL\DML\DCL\TCL?

将SQL的操作,细分为4类:DDL\DML\DCL\TCL的作用,方便进行分类控制,例如:金融、税务等系统,禁止进行DDL操作。

思考:上述的权限控制,是否能够只针对单个SQL命令,例如INSERT\UPDATE等?即,更细粒度的权限控制。

参考来源

Top