码迷,mamicode.com
首页 > 数据库 > 详细

SQL语句之授权与收回

时间:2019-06-16 21:41:10      阅读:731      评论:0      收藏:0      [点我收藏+]

标签:grant   sql语句   option   let   获得   就会   upd   允许   dex   


关系数据库中的存取权限

一、数据库模式
模式:CEATE SCHEMA
基本表:CREATE TABLE,ALTER TABLE
视图:CREATE VIEW
索引:CREATE INDEX

二、数据
基本表和视图:INSERT、DELETE、UPDATE、SELECT、REFERENCES、ALL PRIVILEGES
属性列:INSERT、UPDATE、SELECT、REFERENCES、ALL PRIVILEGES



1、GRANT语句 GRANT语句一般模式: GRANT <权限>[,权限...] ON <对象类型><对象名>[,<对象类型><对象名>...] TO <用户>[,<用户>] [WITH GRANT OPTION]; --这里授予的用户可以是所有用户PUBLIC --WITH GRANT OPTION语句是指获得该权限的用户还可以把这种权限再授予其他用户,如果没有该子句,则获得权限的用户不能传播该权限 --举些例子 --把查询Student表的权限授予给U1 GRANT SELECT ON TABLE Student TO U1; --把Student表和Course表的所有权限授予给用户U2和U3 GRANT ALL PRIVILEGES ON TABLE Student,Course TO U2,U3 --把对SC表的查询权限授予给所有用户 GRANT SELECT ON TABLE SC TO PUBLIC; --把查询Student表和修改学生学号的权限授权给用户U4,对属性列授权时必须明确指出相应的属性列 GRANT SELECT,UPDATE(Sno) ON TABLE Student TO U4; --把对SC表的INSERT权限授予给用户U5,并允许U5将此权限再授予给其他用户 GRANT INSERT ON TABLE SC TO U5 WITH GRANT OPTION; --用户U5将INSERT权限授予给用户U6,U6授权给U7 GRANT INSERT ON TABLE SC TO U6 WITH GRANT OPTION; GRANT INSERT ON TABLE SC TO U7; 2、REVOKE语句 REVOKE语句的一般模式: REVOKE <权限>[,权限...] ON <对象类型><对象名>[,<对象类型><对象名>...] FROM <用户>[,<用户>...[CASCADE|RESTRICT]]; --把用户U4修改学生学号的权限收回 REVOKE UPDATE(Sno) ON TABLE Student FROM U4 --收回所有用户对表SC的查询权限 REVOKE SELECT ON TABLE SC FROM PUBLIC; --把用户U5对SC表的INSERT权限收回 REVOKE INSERT ON TABLE SC FROM U5 CASCADE; --这里的CASCADE语句是级联收回U6和U7对SC表的INSERT权限,如果不级联收回,鉴于前面U6和U7的权限是级联授予的,系统就会拒绝执行该命令 3、创建数据库模式权限 CREATE USER <username>[WITH][DBA|RESOURCE|CONNECT]; 4、角色的创建 --创建一个角色 CREATE ROLE <角色名> --给角色授权,与给用户授权一样 GRANT <权限>[,<权限>]... ON <对象名>[,<对象名>] TO <角色>[,<角色>]... --将一个角色授予给另一个角色,这样另一个角色的权限是授权角色权限的总和 GRANT <角色1>[,<角色2>]... TO <角色3>[,<用户1>]... [WITH ADMIN OPTION] --角色权限的收回 REVOKE <权限>[,<权限>]... ON <对象类型><对象名> FROM <角色>[,<角色>]... --举些例子 --首先创建一个角色R1 CREATE ROLE R1; --授予角色R1对于Student表的INSERT、UPDATE、SELECT GRANT INSERT,UPDATE,SELECT ON TABLE Student TO R1; --将角色R1授予给王平、张明、赵玲 GRANT R1 TO 王平,张明,赵玲; --一次性的通过收回R1的权限来收回王平的这三个权限 REVOKE R1 FROM 王平; --角色权限的修改 GRANT DELETE ON TABLE Student TO R1; --收回角色R1的SELECT权限 REVOKE SELECT ON TABLE Student FROM R1;

SQL语句之授权与收回

标签:grant   sql语句   option   let   获得   就会   upd   允许   dex   

原文地址:https://www.cnblogs.com/BASE64/p/11032923.html

(0)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!