SQL 安全性控制

授权:授予与收回

GRANT 授予

GRANT语句的一般格式是

GRANT <权限>
ON <对象类型> <对象名> [,<对象类型><对象名>]...
TO <用户>[,<用户>]...
[WITH GRANT OPTION];

WITH GRANT OPTION 写了之后可以把这种权限再授予给别的用户,不写则无法继续授权

例4.1:把查询Student表的权限授给用户U1

GRANT SELECT
ON TABLE Student
TO U1;

例4.2:把对Student表和 Course表的全部操作限权授给用户U2、U3

GRANT ALL PRIVILEGES
ON TABLE Student,Course
TO U2,U3;

例4.3:把对表SC的查询权限授予所有用户

GRANT SELECT
ON TABLE SC
TO PUBLIC;

例4.4:把查询Student表和修改学生学号的权限授给用户U4

GRANT SELECT,UPDATE(Sno)
ON TABLE Student
TO U4;

例4.5:把对表SC的INSERT权限授予U5用户,并允许将此权限在授予其他用户

GRANT INSERT
ON TABLE SC
TO U5
WITH GRANT OPTION;

例4.6:U5可以将此权限在授予U6

ON TABLE SC
TO U6
WITH GRANT OPTION;

同理,U6也可以将此权限授予U7

ON TABLE SC
TO U7
WITH GRANT OPTION;

REVOKE 收回

REVOKE语句的一般格式为:

REVOKE <权限> [,<权限>] ...
ON <对象类型><对象名> [,<对象类型><对象名>]...
FROM <用户>[,<用户>]...[CASCADE|RESTRICT];

例4.8:把用户U4修改学生学号的权限撤回

REVOKE UPDATE(Sno)
ON TABLE Student
FROM U4

例4.9:收回所有用户对表SC的查询权限

REVOKE SELECT
ON TABLE SC
FROM PUBLIC;

例4.10:把用户U5对SC表的INSERT权限收回

REVOKE INSERT
ON TABLE SC
FROM U5 CASCADE;

在有的数据库中,这里默认使用CASCADE,而有的地方默认使用RESTINCT,而加了CASCADE的好处是,如果U5此处在其他用户那里获得了权限的话,U5即使删除了现有这个权限,他依然有其他用户给他的INSERT权限

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值