3.5数据控制SQL语旬

3.5数据控制SQL语旬

  • GRANT
  • REVOKE
  • DENY

作用:控制用户数据访问权

GRANT

GRANT 语句是一种由数据库对象创建者或管理员执行的授权语句,把访问数据库对象权限授予给其他角色。

格式

 GRANT <权限列表> ON <数据库对象> TO <用户或角色> [ WITH GRANT OPTION ];

假定系统管理员希望将Register表的SELECT、INSERT、UPDATE、DELETE访问权限赋予学生角色(RoleS),其 授权控制SQL语句如下。

GRANT SELECT, INSERT, UPDATE, DELETE ON Register TO RoleS; 

当这个语句执行后,学生角色(RoleS)就具有了对Register表的数据增加、更新、删除和查询的权限。如果上面的 授权SQL语句还带有WITH GRANT OPTION(授权选项),则学生角色还可以将这些权限授予其他用户。

REVOKE

收回授予给其他角色的权限。

【例】在选课管理系统数据库中,若系统管理员角色需要收回角色RoleS对Register表的DELETE访问权限,其 控制SQL语句如下。

REVOKE DELETE ON Register FROM RoleS;

当这个语句执行后,学生角色(RoleS)就失去了对Register表的数据删除权限。

DENY

DENY语句用于拒绝给当前数据库内的用户或者角色授予权限,并防止用户或角色通过其组或角色成员继承权限。 DENY语句格式为

【例】在选课管理系统数据库中,若系统管理员角色(RoleA)拒绝教师角色(RoleT)对Teacher表的 DELETE访问权限,其控制SQL语句如下。

DENY DELETE ON Teacher TO RoleT;

当这个语句执行后,教师角色(RoleT)就失去了对Teacher表的DELETE数据权限。

posted @ 2022-03-30 23:26  Dinesaw  阅读(86)  评论(0编辑  收藏  举报