@demonly
2017-02-15T13:57:12.000000Z
字数 850
阅读 867
SQL
GRANT 命令用于向数据库用户账户授予系统权限和对象权限。
GRANT PRIVILEGE2 [, PRIVILEGE2 ][ ON OBJECT ]
TO USERNAME [ WITH GRANT OPTION | ADMIN OPTION ]
GRANT OPTION 和 ADMIN OPTION 都意味着被授权者可以将这个权限再授予给别的用户。前者用于对象权限,后者用于系统权限。
GRANT 命令不仅可以分配以上提到的对象权限和系统权限,还可以针对 INSERT、UPDATE 和 DELETE 分配权限。
其中的 USERNAME 也可以是 PUBLIC,它表示数据库里全体用户的账户。
REVOKE 命令用于撤销已经分配给用户的权限。
REVOKE PRIVILEGE1 [, PRIVILEGE2 ][ GRANT OPTION FOR ] ON OBJECT
FROM USER { RESTRICT | CASCADE }
使用 RESTRICT 选项时,只有指定的权限撤销之后不会导致其他用户产生报废权限时才能顺利完成。使用 CASCADE 选项会同时撤销由这个用户授权的权限。
角色的创建和删除语法和用户是相似的,权限分配的语法和用户是一样的。
CREATE ROLE role_name;
DROP ROLE role_name