DCL(Data Control Language)语句:数据控制语句,用于控制不同数据段直接的许可和访问级别的语句。这些语句定义了数据库、表、字段、用户的访问权限和安全级别。主要的语句关键字包括 grant、revoke 等。
DCL 语句主要是 DBA 用来管理系统中的对象权限时所使用,一般的开发人员很少使用。下面通过一个例子来简单说明一下。
创建一个数据库用户 z1,具有对 sakila 数据库中所有表的 SELECT/INSERT 权限:
|
1
2
3
4
5
6
7
8
9
10
11
12
|
'123';
sec)
exit
Bye
-p123
\g.
log
buffer.
sakila
changed
'3');
sec)
|
由于权限变更,需要将 z1 的权限变更,收回 INSERT,只能对数据进行 SELECT 操作:
|
1
2
3
4
5
6
7
8
|
-uroot
\g.
log
buffer.
'localhost';
sec)
exit
Bye
|
用户 z1 重新登录后执行前面语句:
|
1
2
3
4
5
6
7
8
9
10
|
p123
.
log
.
;
selected
sakila
changed
;
'emp'
|
以上例子中的 grant 和 revoke 分别授出和收回了用户 z1 的部分权限,达到了我们的目的。