Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-查询/SQL语句

全面掌握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 USERDrop 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

组的名称。

SQLDrop 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源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助