授权:授予与收回
GRANT语句向用户授予权限
REVOKE语句收回已经授予用户的权限
1.GRANT
GRANT <权限>[,<权限>]...
ON <对象类型> <对象名>[,<对象类型> <对象名>]…
TO <用户>[,<用户>]...
[WITH GRANT OPTION];
语义:将对指定操作对象的指定操作权限授予指定的用户
接受授权的用户可以是一个或多个具体用户,也可以是PUBLIC,即全体用户
WITH GRANT OPTION子句:
指定:获得某种权限的用户可以把这种权限再授予其他的用户
没有指定:获得某种权限的用户只能使用该权限,不能传播该权限。
SQL标准允许具有WITH GRANT OPTION的用户把相应权限或其子集传递授予其他用户,但不允许循环授权,即被授权者不能把权限再授回给授权者或祖先。
【例4.1】把查询Student表权限授给用户U1
注意:先建用户U1
一个登录名只能建一个用户
找到不用登录名的方法建用户,不知道有什么不同
GRANT SELECT
ON TABLE Student
TO U1;
去掉TABLE,执行成功
GRANT SELECT
ON Student
TO U1;
在用户U1 右键->【属性】->【安全对象】 有Student表
【例4.2】把对Student表和Course表的全部权限授予用户U2和U3
建立U2,U3用户
GRANT ALL PRIVILEGES
ON TABLE Student,Course
TO U2,U3;
要将两个表分开授权
GRANT ALL PRIVILEGES
ON Student
TO U2,U3;
GRANT ALL PRIVILEGES
ON Course
TO U2