1.grant用法
例1:把查询Student表权限授给用户U1。
GRANT SELECT ON TABLE Student TO U1;
例2:把对Student表和Course表的全部权限授予用户U2和U3。
GRANT ALL PRIVILIGES 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;
说明:执行例5后,U5不仅拥有了对表SC的INSERT权限,还可以传播此权限:
例6:GRANT INSERT ON TABLE SC TO U6 WITH GRANT OPTION; / * U6还可以将此权限授予U7 * /
例7:GRANT INSERT ON TABLE SC TO U7; / * 但U7不能再传播此权限 * /
2. revoke用法
例8:把用户U4修改学生学号的权限收回。
REVOKE UPDATE(Sno) ON TABLE Student FROM U4;
例9:收回所有用户对表SC的查询权限。
REVOKE SELECT ON TABLE SC FROM PUBLIC;
例10:把用户U5对SC表的INSERT权限收回。 /系统只收回直接或间接从U5处获得的权限/
REVOKE INSERT ON TABLE SC FROM U5 CASCADE;
3.角色的创建、授权、将一个角色授予其他的角色或用户、角色的回收
例11:通过角色来实现将一组权限授予一个用户。 步骤1:首先创建一个角色 R1
CREATE ROLE R1;
步骤2:然后使用GRANT语句,使角色R1拥有Student表的SELECT、UPDATE、INSERT权限:
GRANT SELECT,UPDATE,INSERT ON TABLE Student TO R1;
步骤3:将这个角色授予王平,张明,赵玲。使他们具有角色R1所包含的全部权限。
GRANT R1 TO 王平,张明,赵玲;
步骤4:可以一次性通过R1来回收王平的这3个权限
REVOKE R1 FROM 王平;
例12:角色的权限修改
GRANT DELETE ON TABLE Student TO R1
例13:角色的权限收回
REVOKE SELECT ON TABLE Student FROM R1;
|