一、grant的使用
-- 把Student表查询权限授予userName
GRANT SELECT ON Student TO userName;
--把Student表全部权限授予userName
GRANT ALL ON Student TO userName;
--把Student表查询权限授予全部用户
GRANT SELECT ON Student TO PUBLIC;
-- 把Student表查询权限、更新权限授予userName
GRANT SELECT,UPDATE ON Student TO userName;
--把Student表name字段的更新权限授予userName. 授予用户更新某列的权限
GRANT UPDATE(name) ON Student TO userName;
--把Student表name,age,sex字段的更新权限授予userName. 授予用户更新多列的权限
GRANT UPDATE(name,age,sex) ON Student TO userName;
-- 把对表Student的INSERT权限授予userName用户,并允许他再将此权限授予其他用户.
GRANT INSERT ON Student TO userName WITH GRANT OPTION;
如果指定来WITH GRANT OPTION 子句,则获得某种权限的用户还可以把这种权限授予其他用户。但不允许循环传授,即被授权者不能把权限在授回给授权者或祖先。如user1拥有Student表的查询权限,user1将Student的查询权限授予了user2,user2将Student的查询权限授予了user3,user3无法再将Student的查询权限授予user1.如图:
--同时授予两个用户相同的权限
GRANT SELECT ON Student TO userName1,userName2;
二、revoke使用
-- 回收userName用户对Student表的查询权限
REVOKE SELECT ON Student FROM userName;
--级联回收user1,user2,user3用户对Student表的查询权限
REVOKE SELECT ON Student FROM userName CASCADE;
将user1的select权限回收,同时也将user2,user3的select权限回收,前提是user2,user3的select权限是user1授予的.