SQL中DQL,DML,DDL,DCL,TCL的区别

本文最后更新于:3 个月前

笔记

SQL语言根据操作性质一共分为5大类

DQL:select(记录的操作)

DML:insert、delete、update(记录的操作)

DDL:create、alter、drop、truncate(表的操作)

DCL:grant、revoke(权限的操作)

TCL:commint、rollback、savepoint、set transaction(事务的操作)

1 - 数据查询语言,DQL(Query)

1.1 - 作用

从数据库/表中查找字段的值

1.2 - 主要命令 - select(查)

select 语法:

1
2
3
4
5
6
7
8
9
10
11
12
13
SELECT         select_list

[ INTO new_table ]

FROM table_source

[ WHERE search_condition ]

[ GROUPBY group_by_expression ]

[ HAVING search_condition ]

[ ORDERBY order_expression [ ASC | DESC ] ]

2 - 数据操纵语言,DML(manipulation)

2.1 - 作用

对数据库的数据进行相关操作(对表中的记录进行操作)

2.2 - 主要命令 - insert、delete、update(增删改)

1
2
#insert语法
INSERT INTO 表名(列1,列2,...) VALUES (值1,值1,...)
1
2
#delete语法
DELETE FROM 表名 WHERE 列名 =
1
2
#update语法
UPDATE 表名 SET 列名 = 新值 WHERE 列名称 = 某值

3 - 数据定义语言,DDL(definition)

3.1 - 作用

主要是对表进行操作

3.2 - 主要命令 - create、alter、drop、truncate(建立表、修改表(增加列、更改列、删除列)、删除表)

1
2
#create语法
CREATE table 表名
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#alter语法

ALTER table 表名

ADD (test_id number) --增加列

#----------------------------------------------------------------------------

ALTER table 表名

MODIFY (test_id number) --更改列

#----------------------------------------------------------------------------

ALTER table 表名

DELETE (test_id ) --删除列
1
2
#drop语法
DROP table 表名
1
2
#truncate语法
TRUNCATE table 表名

4 - 数据控制语言,DCL(Control)

4.1 - 作用

DCL用来设置或更改数据库用户或角色权限

4.2 - 主要命令 - grant、revoke(授权和撤销)

注意: 在默认状态下,只有sysadmin,dbcreator,db_owner或db_securityadmin等人员才有权力执行DCL


5 - 事务控制语言,TCL(Transaction Control)

5.1 - 作用

用于数据库事务的相关操作

5.2 - 主要命令 - commit、rollback、savepoint、set transaction(提交、回滚、设置保存点、设置事务选项)

例题

下列四组SQL命令,全部属于数据定义语句的命令是(A)。

1
CREATEDROPALTER
1
CREATEDROPUPDATE
1
CREATEDROPGRANT
1
CREATEDROPSELECT

下列哪些属于DQL语句的命令(BCD)

1
A、INSERT
1
B、WHERE
1
C、FROM
1
D、SELECT

SQL中DQL,DML,DDL,DCL,TCL的区别
https://alec-97.github.io/posts/410845037/
作者
Shuai Zhao
发布于
2022年11月22日
许可协议