全面掌握MS ACCESS SQL(55)
时 间:2018-02-05 15:29:10
作 者:Big Young ID:252 城市:襄阳
摘 要: 用SQL授予或撤销组或用户的权限。
正 文:
第三节 用SQL授予或撤销组或用户的权限
在程序开发中,如果我们想让某一数据库用户查看或更改数据库中任何数据的内容,那么我们就必须授予他们执行相应操作的权限。可以使用SQL的GRANT语句来授予用户特定的权限,用REVOKE语句来收回已授予给用户与组的权限。
一、授予组或用户权限的GRANT语句
GRANT语句的基本功能就是为现有用户或组授予指定的特权。其语法为:
GRANT {privilege[, privilege,...]}ON{TABLE table|OBJECT object|
CONTAINER container} TO {authorizationname[, authorizationname, ...]}
GRANT语句包含以下部分:
部分 |
说明 |
privilege |
要授予的权限。使用以下关键字指定权限:Select、Delete、Insert、Update、 Drop、SelectSECURITY、UpdateSECURITY、DBPASSWORD、UpdateIDENTITY、Create、SelectSCHEMA、SCHEMA和UpdateOWNER。 |
tablename |
任何有效的表名。 |
object |
可以包含任何非表对象。存储查询(视图或过程)就是一个示例。 |
container |
有效容器的名称。 |
authorizationname |
用户名或组名。 |
二、撤销组或用户权限的REVOKE语句
REVOKE语句的基本功能就是撤消现有用户或组的指定权限。其基本语法为:
REVOKE {privilege[, privilege,...]}ON {TABLE table|OBJECT object|
CONTAINTER container} FROM {authorizationname[, authorizationname,...]}
REVOKE语句包含以下部分:
部分 |
说明 |
privilege |
将被吊销的权限。使用以下关键字指定权限:Select、Delete、Insert、Update、Drop、SelectSECURITY、UpdateSECURITY、DBPASSWORD、UpdateIDENTITY、Create、SelectSCHEMA、SCHEMA和UpdateOWNER。 |
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群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 统计当月之前(不含当月)的记录...(03.11)
- 【Access Inputbo...(03.03)
- 按回车键后光标移动到下一条记录...(02.12)
- 【Access Dsum示例】...(02.07)
- Access对子窗体的数据进行...(02.05)
- 【Access高效办公】上月累...(01.09)
- 【Access高效办公】上月累...(01.06)
- 【Access Inputbo...(12.23)
- 【Access Dsum示例】...(12.16)

学习心得
最新文章
- 32位的Access软件转化为64...(04.12)
- 【Access高效办公】如何让vb...(04.11)
- 仓库管理实战课程(10)-入库功能...(04.08)
- Access快速开发平台--Fun...(04.07)
- 仓库管理实战课程(9)-开发往来单...(04.02)
- 仓库管理实战课程(8)-商品信息功...(04.01)
- 仓库管理实战课程(7)-链接表(03.31)
- 仓库管理实战课程(6)-创建查询(03.29)
- 仓库管理实战课程(5)-字段属性(03.27)
- 设备装配出入库管理系统;基于Acc...(03.24)