目录
DCL(Data Control Language,DCL):数据控制语言
DCL(Data Control Language,DCL):数据控制语言
- 具备控制数据库中数据权限的功能。
GRANT 定义权限
-
语法格式
- GRANT 授予,SQL中即为授予权限
- WITH GRANT OPTION 有这句声明的对象,可以将此权限授予传播给其他用户
- 授权的用户可以是一个或者多个具体的用户,也可以是PUBLIC,即全体用户。
// 语法
GRANT 权限1,权限2...
ON 对象类型 对象名
TO 用户1,用户2...
(WITH GRANT OPTION) ;
-
示例
/ 把查询Student表的权限授给用户U1
GRANT SELECT
ON TABLE Student
TO U1;
// 把查询Student表和修改学号的权限授给用户U2
GRANT UPDATE(Sno),SELECT
ON TABLE Student
TO U2;
// 把对表SC的INSERT权限授予U3用户,并允许将此权限再授予其他用户
GRANT INSERT
ON TABLE SC
TO U3
WITH GRANT OPTION;
REVOKE 收回权限
-
语法格式
- 在收回权限的时候,DBMS采用级联收回的策略,即在收回U3权限的同时也收回了U3授予U4的权限。
REVOKE 权限1,权限2...
ON 对象类型 对象名
FROM 用户1,用户2...;
-
示例
// 把用户U2修改学生学号的权限收回
REVOKE UPDATE(Sno)
ON TABLE Student
FROM U2;
// 把用户U3对SC表的INSERT权限收回
REVOKE INSERT
ON TABLE SC
FROM U3;