全面掌握MS ACCESS SQL(54)
时 间:2018-02-05 10:05:09
作 者:Big Young ID:252 城市:襄阳
摘 要: 用SQL创建与删除组和用户。
正 文:
第二节 用SQL创建与删除组和用户
2003及以前版本的ACCESS使用Jet数据库引擎来存储和检索数据库中的对象。Jet数据库引擎使用基于工作组的安全模型(也称为用户级安全性)来判断谁可以打开数据库,并保护数据库所包含对象的安全。无论是否明确设置了数据库的安全性,用户级安全性对所有ACCESS数据库始终处于打开状态。我们可以通过操纵用户和组帐户的权限和成员身份来更改ACCESS中的默认安全级别。下面我们将首先对如何运用SQL创建与删除组及用户此进行介绍。
在多用户环境中,为了方便对用户的管理,通常把用户分成不同的组,通过设置工作组,可以将用户划分分配到工作组,然后对工作组授予权限,而不用一个个的对用户授权,这样就降低了分配和管理权限的复杂性。
一、用SQL创建与删除工作组
1、创建与删除工作组的SQL语法
创建组:Create GROUP group1 pid1[, group2 pid2, ...]
此语句创建一个或多个用户工作组。这里“group1”与“group2”等是将要创建的工作组的名字,工作组的名字不能与本数据库中其它对象同名。“pid1”和“pid2”等是用于区分各不同组的唯一标识符,PID是英语“personal identifier”的缩写,意思是个人标识符,主要用于防止其他人克隆相同的组,因而也有人称它为SID,就是安全标识符。此标识符要求4-20个字符,对大小写敏感。
删除组:Drop GROUP group1[, group2, …]
此语句删除一个或多个组,这里的“group1”与“group2”等是要删除的组的名字。
2、用SQL创建一个工作组
我们用Create GROUP创建一个名为“Billing”的工作组,SQL语句如下:
Create GROUP Billing;
这个语句创建了一个名为“Billing”工作的工作组,安全标识符使用的是系统默认的标识符。
3、用SQL一次创建多个工作组
如果想一条语句创建多个工作组,我们可以这样写:
Create GROUP Billing, Shipping;
这条SQL语句将一次创建两个工作组:“Billing”与“Shipping”都使用系统默认的PID,工作组名之间用逗号分隔。
4、创建带PID的工作组
Create GROUP Billing Gu294JxP1m, Shipping Kl27c5sI9h;
这样我们就创建了两个分别拥有不同PID的工作组,其他人如果不知道PID就无法克隆相同的工作组了,这样就增加了系统的安全性。
5、删除一个工作组
我们可以用“Drop GROUP”命令删除指定的工作组,如:
Drop GROUP Billing;
该语句运行后,我们就会将名为“Billing”的工作组删除掉。
6、一次删除多个工作组
我们也可以用一条SQL语句一次删除多个工作组,工作组列表间用逗号分隔,例如:
Drop GROUP Billing, Shipping;
Drop GROUP语句将删除指定的组。属于该组的用户不会受到影响,但他们将不再是已删除的组的成员。
二、用SQL语句创建与删除用户
1、创建与删除用户的SQL语法
创建用户:
Create USER user1 password1 pid1 [, user2 password2 pid2, ...]
此语句将创建一个或多个用户。
删除用户:
Drop USER user1[, user2, …]
此语句将删除一个或多个用户。
Create USER或Drop USER语句包含以下部分:
部分 |
说明 |
user1, user1 |
要创建的用户的名称。 |
password1, password2 |
与指定的用户名称相关联的密码。 |
pid1, pid2 |
个人标识符。 |
用户与组不能同名。所创建的每个用户必须要有password(密码)。
2、创建一个用户
Create USER Tim pwd;
在数据库中创建一个名为“Tim”的用户,其用户口令为“pwd”,且使用系统默认的PID(个人标识符)。
3、创建多个用户
Create USER Tim pwd, Sarah pwd, Steve pwd, Mary pwd;
此语句一次创建多个用户,并使用系统PID。
4、创建一个用户并指定其PID
Create USER Tim pwd H3sJaZ9k2m;
5、创建多个用户并指定其PID
Create USER Tim pwd H3sJaZ9k2m, Sarah pwd H3sJaZ9k2m, Steve pwd H3sJaZ9k2m, Mary pwd H3sJaZ9k2m
6、删除一个用户
Drop USER Tim;
7、一次删除多个用户
Drop USER Tim, Sarah, Steve, Mary;
三、用SQL语句管理用户密码及其所属的组
1、修改用户密码的SQL语法
Alter USER user PASSWORD newpassword oldpassword
修改用户密码的Alter USER语句包含以下部分:
部分 |
说明 |
user |
要修改密码的用户的名称。 |
newpassword |
与指定的user名称相关联的新密码。 |
oldpassword |
与指定的user名称相关联的现有密码。 |
2、修改用户密码示例
Alter USER Tim PASSWORD tim pwd;
Alter USER Sarah PASSWORD sarah pwd;
Alter USER Steve PASSWORD steve pwd;
Alter USER Mary PASSWORD mary pwd;
由于修改密码的Alter USER语句一次只能修改一个用户的密码,要修改多个用户就必须多次使用此语句。
3、用SQL将用户添加到组的语法
ADD USER user1[, user2, …] TO group
ADD USER语句包含以下部分:
部分 |
说明 |
user1, user2 |
要添加到工作组信息文件中的用户的名称。 |
group |
要添加到工作组信息文件中的组的名称。 |
只要用户被添加到组中,这个用户就拥有已授予该组的所有权限。
4、将用户添加到组的示例
将一个用户添加到组:
ADD USER Tim TO Billing;
将多个用户一次加入到组:
ADD USER Tim, Sarah TO Billing;
ADD USER Steve, Mary TO Shipping;
ADD USER Tim, Sarah, Steve, Mary TO Users;
请注意,一次只能将一批用户加入到一个组,要将用户加入到多个组需要多次使用些语句。
5、用SQL将用户从组中移除的语法
Drop USER user1[, user2, …] FROM group;
Drop USER…FROM语句包含以下部分:
部分 |
说明 |
user1, user1 |
要从工作组信息文件中删除的用户的名称。 |
group |
组的名称。 |
SQL的Drop USER…FROM语句将在该语句中列出的每个用户都将从FROM关键字后面所指定的组中删除。然而,用户自身不会被删除。
6、将用户从组中移除示例
一次移除一个用户:
Drop USER Tim FROM Billing;
一次移除多个:
Drop USER Tim, Sarah FROM Billing;
Drop USER Steve, Mary FROM Shipping;
Drop USER Tim, Sarah, Steve, Mary FROM Users;
由于Drop USER…FROM语句一次只能将一个或一批用户从一个组中移队,若要从多个组中移除需要多次运用此语句来完成。
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)