[数据库] 数据库中的DDL、DML、DQL、DCL

发布时间 2024-01-04 09:34:20作者: knqiufan

SQL 程序语言有四种类型,对数据库的基本操作都属于这四种类,也就是标题上显示的 DDL、DML、DQL、DCL

1. DDL

DDLData Definition Language 数据定义语言),是负责数据结构定义与数据库对象定义的语言,由 createalterdroptruncate 四个语法组成。例如:

  • create table 创建表
  • alter table 修改表
  • drop table 删除表
  • truncate table 删除表
  • create index 创建索引
  • drop index 删除索引
  • ...

定义语言就是定义关系模式、创建关系模式、修改关系模式、删除关系模式。包括操作数据库中的各种对象,比如表、索引、视图、函数、存储过程、触发器等等。

当执行 DDL 语句后数据库都将提交当前事务,不能回滚,属于表的结构层面的语言,对表结构的操作。

2. DML

DMLData Manipulation Language 数据操纵语言)主要是进行插入数据、修改数据、删除数据的操作,由 insertupdatedelete 语法组成。例如:

  • insert 创建记录
  • update 更新记录
  • delete 删除记录

当执行的 DML 命令没有提交,将不会被其他会话看到。除非在 DML 命令之后执行了 DDL 命令、 DCL 命令、用户退出、终止实例时,系统会自动发出 commit 命令,提交 DML 命令提交。

属于是表数据层面的语言,对表数据进行操作。

3. DQL

DQLData Query Language 数据查询语言)用来进行数据库中的数据查询,最常用的就是 select 语句了。

用于查询表中的数据。

4. DCL

DCLData Contrl Language 数据控制语言)用来授权或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果,能够对数据库进行监视。常见的操作比如授权、取消授权、回滚、提交等等。例如:

  • grant 分配权限给用户
  • revoke 撤销用户的权限
  • deny 拒绝权限