全面掌握MS ACCESS SQL(55)-Big Young
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-查询/SQL语句


全面掌握MS ACCESS SQL(55)

发表时间:2018/2/5 15:29:10 评论(0) 浏览(3618)  评论 | 加入收藏 | 复制
   
摘 要:    用SQL授予或撤销组或用户的权限。
正 文:

第三节 用SQL授予或撤销组或用户的权限

在程序开发中,如果我们想让某一数据库用户查看或更改数据库中任何数据的内容,那么我们就必须授予他们执行相应操作的权限。可以使用SQLGRANT语句来授予用户特定的权限,用REVOKE语句来收回已授予给用户与组的权限。

一、授予组或用户权限的GRANT语句

GRANT语句的基本功能就是为现有用户或组授予指定的特权。其语法为:

GRANT {privilege[privilege...]}ON{TABLE table|OBJECT object|

CONTAINER container} TO {authorizationname[, authorizationname, ...]}

GRANT语句包含以下部分:

部分

说明

privilege

要授予的权限。使用以下关键字指定权限:SelectDeleteInsertUpdate DropSelectSECURITYUpdateSECURITYDBPASSWORDUpdateIDENTITYCreateSelectSCHEMASCHEMAUpdateOWNER

tablename

任何有效的表名。

object

可以包含任何非表对象。存储查询(视图或过程)就是一个示例。

container

有效容器的名称。

authorizationname

用户名或组名。

二、撤销组或用户权限的REVOKE语句

REVOKE语句的基本功能就是撤消现有用户或组的指定权限。其基本语法为:

REVOKE {privilege[privilege...]}ON {TABLE table|OBJECT object|

CONTAINTER container} FROM {authorizationname[authorizationname...]}

REVOKE语句包含以下部分:

部分

说明

privilege

将被吊销的权限。使用以下关键字指定权限:SelectDeleteInsertUpdateDropSelectSECURITYUpdateSECURITYDBPASSWORDUpdateIDENTITYCreateSelectSCHEMASCHEMAUpdateOWNER

table

任何有效的表名。

object

可以包含任何非表对象。存储查询(视图或过程)就是一个示例。

container

有效容器的名称。

Authorizationname

用户名或组名。

三、可以授予或撤销的组或用户权限列表

权限

可应用于

说明

Select

表、对象、容器

允许某用户读取数据及访问特定表、对象及容器的设计。

Delete

表、对象、容器

允许某用户从特定的表、对象及容器中删除数据。

Insert

表、对象、容器

允许某用户向特定的表、对象及容器中插入数据。

Update

表、对象、容器

允许某用户更新特定的表、对象及容器中的数据。

Drop

表、对象、容器

允许某用户删除特定的表、对象或容器。

SelectSECURITY

表、对象、容器

允许某用户查看为特定表、对象或窗口设置的许可属性。

UpdateSECURITY

表、对象、容器

允许某用户修改为特定表、对象或窗口设置的许可属性。

UpdateIDENTITY

允许某用户更改自动编号列中的值。

Create

表、对象、容器

允许某用户创建一个新的表、对象或容器。

SelectSCHEMA

表、对象、容器

允许某用户查看特定表、对象或容器的设计。

SCHEMA

表、对象、容器

允许某用户修改特定表、对象或容器的设计。

UpdateOWNER

表、对象、容器

允许某用户更改特定表、对象或容器的所有者。

ALL PRIVILEGES

全部

给某用户有关某特定表、对象、容器或数据库的全部的许可,包括管理权限。

CreateDB

数据库

允许某用户创建一个全新的数据库。

EXCLUSIVECONNECT

数据库

允许某用户以独占方式打开一个数据库。

CONNECT

数据库

允许某用户打开某一数据库。

ADMINDB

数据库

允许某用户管理某一数据库。

四、授予或撤销组或用户的权限示例

下面的SQL语句将对表“Student”的查询权限授予用户“TIM”

GRANT Select ON TABLE Student TO tim;

再如,下面的语句将对表“TEST”的更新权限授予“USERS”组:

GRANT Update ON TABLE TEST TO USERS;

我们也可以将多个权限一次授予一个用户或组,如:

GRANT Select, Insert, Delete, Update ON TABLE STUDENT TO TIM;

与授予权限相把的过程就是回收权限,也就是撤销分配给用户或组的权限,例如:

下面的SQL语句将从用户“TIM”处回收对表“STUDENT”的查询权限:

REVOKE Select ON TABLE Student FROM tim;

下面的SQL语句将回收“USERS”组的对表“TEST”的更新权限:

REVOKE Update ON TABLE TEST TO USERS;

当然也可以一次回收分配组用户或组的多个权限,例如:

REVOKE Select, Insert, Delete, Update ON TABLE STUDENT FROM TIM;


Access软件网交流QQ群(群号:198465573)
 
 相关文章
全面掌握MS ACCESS SQL(52)  【Big Young  2018/2/1】
全面掌握MS ACCESS SQL(53)  【Big Young  2018/2/2】
全面掌握MS ACCESS SQL(54)  【Big Young  2018/2/5】
全面掌握MS ACCESS SQL(56)  【Big Young  2018/2/5】
全面掌握MS ACCESS SQL(57)  【Big Young  2018/2/6】
全面掌握MS ACCESS SQL(58)  【Big Young  2018/2/6】
常见问答
技术分类
相关资源
文章搜索
关于作者

Big Young

文章分类

文章存档

友情链接