• SQL基础复习05--数据控制SQL语句


    参考教材《数据库系统:原理、设计与编程(MOOC版)》,陆鑫 张凤荔 陈安龙

    3.5 数据控制SQL语句

    数据控制SQL语句(DCL)是一类可对用户数据访问权进行控制的操作语句,可以控制特定用户或角色对数据表、视图、存储过程、触发器等数据对象的访问权限。主要有GRANT、REVOKE、DENY语句操作来实现。

    这个文档中有SQL Server的一些相关操作:https://docs.microsoft.com/zh-cn/sql/t-sql/tutorial-writing-transact-sql-statements?view=sql-server-ver15
    1.png
    这几个文档都值得一看,其中第三课也包括删除权限等,只是题目取的不太清晰。上述文档中的权限部分主要是用户的权限控制,而参考书和我的笔记中主要是角色的权限控制,可以分别看一下。文档中还有用DROP删除权限,参考书中没有。

    3.5.1 GRANT语句

    GRANT语句是一种由数据库对象床架这或管理员执行的授权语句,可以把访问数据库对象权限授予其他用户或角色。
    格式:

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

    例3-43
    假如学生的角色是RoleS,系统管理员希望将Register表的SELECT、INSERT、UPDATE、DELETE访问权限赋予学生角色RoleS:

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

    如果上面的语句还带有WITH GRANT OPTION(授权选项),则学生角色还可以将这些权限授予其他用户。

    3.5.2 REVOKE语句

    REVOKE语句是一种由数据库对象创建者或管理员将赋予其他用户或角色的权限进行收回语句。
    格式:

    REVOKE <权限列表(逗号分隔)> ON <数据库对象> FROM <用户或角色>;
    

    例3-44
    系统管理员需要回收RoleS角色对Register表的DELETE访问权限:

    REVOKE DELETE ON Register FROM RoleS;
    

    3.5.3 DENY语句

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

    DENY <权限列表(逗号分隔)> ON <数据库对象> TO <用户或角色>;
    

    例3-45
    系统管理员角色(RoleA)拒绝教师角色(RoleT)对Teacher表的DELETE访问权限:

    DENY DELETE ON Teacher TO RoleT;
    
  • 相关阅读:
    Django集成Markdown编辑器【附源码】
    Django+JWT实现Token认证
    Docker环境的持续部署优化实践
    2018-行远自迩,登高自卑
    SVN Hooks的介绍及使用
    Django开发密码管理表实例【附源码】
    Django+Echarts画图实例
    Django使用Signals监测model字段变化发送通知
    运维效率之数据迁移自动化
    Python之路(第三十四篇) 网络编程:验证客户端合法性
  • 原文地址:https://www.cnblogs.com/Kit-L/p/12957990.html
Copyright © 2020-2023  润新知