[数据库] 数据库中的DDL、DML、DQL、DCL
SQL
程序语言有四种类型,对数据库的基本操作都属于这四种类,也就是标题上显示的 DDL、DML、DQL、DCL
。
1. DDL
DDL
(Data Definition Language
数据定义语言),是负责数据结构定义与数据库对象定义的语言,由 create
、alter
、drop
、truncate
四个语法组成。例如:
- create table 创建表
- alter table 修改表
- drop table 删除表
- truncate table 删除表
- create index 创建索引
- drop index 删除索引
- ...
定义语言就是定义关系模式、创建关系模式、修改关系模式、删除关系模式。包括操作数据库中的各种对象,比如表、索引、视图、函数、存储过程、触发器等等。
当执行 DDL
语句后数据库都将提交当前事务,不能回滚,属于表的结构层面的语言,对表结构的操作。
2. DML
DML
(Data Manipulation Language
数据操纵语言)主要是进行插入数据、修改数据、删除数据的操作,由 insert
、update
、delete
语法组成。例如:
- insert 创建记录
- update 更新记录
- delete 删除记录
当执行的 DML
命令没有提交,将不会被其他会话看到。除非在 DML
命令之后执行了 DDL
命令、 DCL
命令、用户退出、终止实例时,系统会自动发出 commit
命令,提交 DML
命令提交。
属于是表数据层面的语言,对表数据进行操作。
3. DQL
DQL
(Data Query Language
数据查询语言)用来进行数据库中的数据查询,最常用的就是 select
语句了。
用于查询表中的数据。
4. DCL
DCL
(Data Contrl Language
数据控制语言)用来授权或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果,能够对数据库进行监视。常见的操作比如授权、取消授权、回滚、提交等等。例如:
- grant 分配权限给用户
- revoke 撤销用户的权限
- deny 拒绝权限
本文来自博客园,作者:knqiufan,转载请注明原文链接:https://www.cnblogs.com/knqiufan/p/17944549