navicat一键收回权限语句_SQL中使用GRANT和REVOKE语句向用户授权或回收对数据的操作权限...

1.GRANT

GRANT语句的一般格式为:

GRANT 

ON   

TO   

[ WITH   GRANT  OPTION]

其语义为:将对指定操作对象的指定操作权限授予指定的用户.发出该GRANT语句的可以是数据库管理员,也可以是该数据库对象的创建者。

如果指定来WITH   GRANT  OPTION 子句,则获得某种权限的用户还可以把这种权限授予其他用户。但不允许循环传授,即被授权者不能把权限在授回给授权者或祖先。如图

如果没有指定WITH   GRANT  OPTION 子句,则获得某种权限的用户只能使用该权限,不能传播该权限。

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

GRANT   SELECT

ON   TABLE   Student

TO   U1;

例2:对SC表操作把INSERT权限授给U5表

GRANT   INSERT

ON   TABLE   SC

TO   U5

WITH   GRANT  OPTION;

U5表将此权限授给U6

GRANT   INSERT

ON   TABLE   SC

TO   U6

WITH   GRANT  OPTION;

同样,U6还可以将此权限授U7

2.REVOKE

授予用户的权限可以由数据库管理员或其他授权者用REVOKE语句收回,REVOKE语句的一般格式为:

REVOKE

ON   

FROM    [CASCADE  |   RESTRICT];

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

REVOKE  INSERT

ON  TABLE  SC

FROM  U5  CASCADE;

其语义为:将用户U5的INSERT权限收回同时,级联(CASCADE)收回了U6和U7的INSERT权限,否则系统将拒绝执行该命令。

SQL提供了非常灵活的授权机制:

1.数据库管理员拥有对数据库中所有对象的所有权限,并根据实际情况将不同的权限授予不同的用户。

2.用户对自己建的基本表和视图拥有全部操作权限,并可以使用GRANT语句授权给其他用户,其他用户拥有继续授权的许可,还有再授权给其他用户。

3.所有授予出去的权力在必要时又可以用REVOKE语句收回。

可见,用户可以“自主”地将数据的存取权限授予任何人,决定是否也将“授权”的权限授予别人,因此称这样的存取控制是自主存取控制。在现实当中,只有自己强大了你才有“自主”的权限。否则你只能被“授权”。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值