当前位置:   article > 正文

SQL灵活的授权机制_sql如何授予用户权限

sql如何授予用户权限

1.DBA拥有对数据库中所有对象的所有权限,并可以根据应用的需要将不同的权限授予不同的用户。

2.用户对自己建立的基本表和视图拥有全部的操作权限,并且可以用GRANT语句把其中某些权限授予其他用户。

3.被授权的用户如果有“继续授权”的许可,还可以把获得的权限再授予其他用户。

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

1.SQL授权

授权GRANT语句的一般格式

GRANT 权限 ON 【对象类型】 对象名 TO 用户1【WITH GRANT OPTION】

举例1:GRANT SELECT ON  student TO u1;   授予用户u1,查询student表的权限。

举例2:GRANT SELECT ON  student TO u1 WITH GRANT OPTION;

授予用户u1,查询student表的权限,同时用户u1也可以将获得的权限授予其他用户。

注意,不能循环授权。例如u1-->u2-->u3, u3不能再授权给u1。

举例3:GRANT SELECT ON  student TO PUBLIC;授予所有用户查询student表的权限。

举例4:GRANT ALL PRIVILEGES ON  student, course TO u2,u3;

不知道啥原因,上面例4在SQL Server中报错,分开改成:

GRANT ALL PRIVILEGES ON  course TO u2,u3;

GRANT ALL PRIVILEGES ON  student TO u2,u3;

ALL PRIVILEGES也不推荐使用了。

//把对student表和course表的全部权限授予用户u2,u3。

2.SQL收回权限

REVOKE语句一般格式为:

REVOKE 权限 ON 对象类型 对象名 FROM 用户  [CASCADE|RESTRICT]

举例1:REVOKE SELECT ON student FROM u4; //收回u4对student表的查询操作。

举例2:REVOKE SELECT ON  student FROM PUBLIC; //收回所有用户对student表的查询操作。

举例3:REVOKE INSERT ON  student FROM u1 CASCADE;

//CASCADE表示级联,收回直接或间接从u1处获得的对student表的INSERT权限。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/389584
推荐阅读
相关标签
  

闽ICP备14008679号