数据库角色是被命名的一组与数据库操作相关的权限,角色是权限的集合。因此,可以为一组具有相同权限的用户创建一个角色,使用角色来管理数据库权限可以简化授权的过程。
CREATE ROLE:创建一个角色
GRANT:给角色授权
REVOKE:收回角色的权限
WITH ADMIN OPTION:如果指定该子句,则获得某种权限的角色或用户还可以把这种权限再授予其他角色。
一般格式:CREATE ROLE <角色>
例子:
CREATE ROLE R1;
刚刚创建的角色是空的,没有任何权限,需要GRANT进行授权。
一般格式:
数据库管理员和用户可以利用GRANT语句将权限授予某一个或几个角色。
一般格式:
GRANT <角色>[,<角色>]...
TO <角色>...
[WITH ADMIN OPTION]
例子:
将角色R1授予角色R2,且不可传播。
- GRANT R1
- TO R2;
将角色R1授予角色R3,可以传播
- GRANT R1
- TO R3
- WITH ADMIN OPTION;
GRANT <角色>[,<角色>]...
TO <用户>...
[WITH ADMIN OPTION]
例子:
将角色R1授予用户U1,且不可传播。
- GRANT R1
- TO U1;
将角色R1授予用户U2,可以传播。
- GRANT R1
- TO U2
- WITH ADMIN OPTION;
一般格式:
REVOKE <权限> [ , <权限>]...
ON <对象类型> <对象名>
FROM <角色> [,<角色>] ...
例子:将角色R1查询Student表的权限收回。
- REVOKE SELECT
- ON TABLE Student
- FROM R1;