授权
GRANT语句格式:
GRANT <权限> [,<权限>]...
ON <对象类型><对象名>[,<对象类型><对象名>]...
TO <用户>[,<用户>]...
[WITH GRANT OPTION]
语义为:将对指定操作对象
的指定操作权限
授予指定的用户
如果指定了WITH GRANT OPTION子句,则获得某种权限的用户还可以把这种权限再授予其他的用户,如果没有指定WITH GRANT OPTION子句,则获得某种权限的用户只能使用该权限,不能传播该权限。
例1
把查询Student表的权限授给用户U1
GRANT SELECT
ON TABLE Student
TO U1;
例2
把对Student表和Course表的全部操作权限授予用户U2和U3。
GRANT ALL PRIVILEGES
ON TABLE Student,Course
TO U2,U3;
例3
把对表SC的查询权限授予所有用户。
GRANT SELECT
ON TABLE SC
TO PUBLIC;
例4
把查询Student表和修改学生学号的权限授给用户U4。
GRANT UPDATE(Sno),SELECT
ON TABLE Student
TO U4;
例5
把对表SC的INSERT权限授予U5用户,并允许将权限再授予其他用户。
GRANT INSERT
ON TABLE SC
TO U5
WITH GRANT OPTION;
收回
REVOKE语句格式:
REVOKE<授权>[,<权限>]...
ON <对象类型><对象名>[,<对象类型><对象名>]...
FROM <用户>[,<用户>]...[CASCADE|RESTRICT]
例1
把用户U4修改学生学号的权限收回。
REVOKE UPDATE(Sno)
ON TABLE Student
FROM U4;
例2
收回所有用户对表SC的查询权限
REVOKE SELECT
ON TABLE SC
FROM U5 CASCADE
例3
把用户U5对SC表的INSERT权限收回
REVOKE INSERT
ON TABLE SC
FROM U5 CASCADE
将用户U5的INSERT权限收回的同时,级联(CASCADE)收回了U6和U7的INSERT权限,否则系统拒绝执行该命令。