全面掌握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)
- Access对子窗体数据进行批...(10.30)
- 最精简的组合框行来源数据快速输...(10.25)
- Access仿平台的多值选择器...(10.24)
- 【Access日期区间段查询】...(10.22)
- 【Access源码示例】VBA...(10.12)
- Access累乘示例,Acce...(10.09)
- 数值8.88,把整数8去掉,转...(10.08)
- 【Access自定义函数】一个...(09.30)
- 【Access选项卡示例】Ac...(09.09)
学习心得
最新文章
- Access判断多条明细的配方或订...(11.30)
- 如何让后台数据库在局域网共享时,且...(11.29)
- 【Access月初月末日期设置方法...(11.29)
- 【Access IIF函数嵌套示例...(11.26)
- Access快速开发平台--使用组...(11.25)
- Access快速开发平台--对上传...(11.22)
- Access快速开发平台企业版--...(11.18)
- 不会用多表联合查询,多表查询没结果...(11.16)
- 【案例分享】主键字段值含有不间断空...(11.16)
- Access快速开发平台--后台D...(11.14)