精通MS-ACCESS SQL之基础篇(15)
时 间:2017-12-05 10:35:02
作 者:Big Young ID:252 城市:襄阳
摘 要: 运用SQL查询与另一数据库交换数据。
正 文:
第十五节 运用SQL查询与另一数据库交换数据
在使用MS ACCESS进行数据库应用系统开发中通常是把前端与用户交互和程序逻辑的部分放在一个数据库文件中,而把数据放在后端的另一个数据库文件中,这样便于维护。另外,在实际的操作数据库的过程中有时也会遇到要在两个或多个数据库之间交换数据的情况。针对这些需求,ACCESS提供了多种途径实现的方法,不过在众多的方法中,用SQL来完成是最经济有效的手段。下面我们就来研究一下这个问题。
一、连接外部数据库表的SQL语法
ACCESS可以连接很多种外部数据库表,当然对自家的表是最拿手的了,它的SQL基本语法有两种形式,一种为外部数据库表作为目标表,就是数据将保存到其中的数据库表,其语法为:
[Select | Insert] INTO destination IN {path | ["path" "MS ACCESS"] | ["" [MS ACCESS; DATABASE = path]]}
另一种是将外部数据库表作为源表,即作为数据的来源表,其语法为:
FROM tableexpression IN {path | ["path" "MS ACCESS"] | ["" [MS ACCESS; DATABASE = path]]}
此带有IN子句的查询的几个部分的含义如下:
部分 |
说明 |
Destination |
外部表的名字,数据插入其中的目标表。 |
Tableexpression |
外部表的名字,此表作为数据的源。此参数既可以是一个表名也可以是一个查询 |
Path |
包含外部数据表的库文件的完整路径。 |
MS ACCESS |
代表数据类型,也可以是其它类型的数据库。如果是MS ACCESS数据库可以省略,只保留两个引号。 |
注意,当使用IN子句时,一个子句中一次只能使用一个表。MS ACCESS数据库分两种情况,一种有带密码保护的,另一种是没有密码保护的,下面先来学习下没密码保护的数据库的操作。
二、查询不带密码保护的外部ACCESS库表
这里,我们有一个名为“Test.accdb”的没有密码保护的数据库,它包含一个名为“成绩1”的表,记录了一些学生的成绩信息,现在我们以Select查询为例来说明其应用。假如我们想查询“成绩1”表中的全部记录,我们可以用以下SQL语句:
Select *
FROM 成绩1
IN 'D:\SQL for ACCESS\Test.accdb'
或:
Select *
FROM 成绩1
IN 'D:\SQL for ACCESS\Test.accdb' "MS ACCESS"
也可以是这样:
Select *
FROM 成绩1
IN "" [MS ACCESS;DATABASE=D:\SQL for ACCESS\Test.accdb]
三种形式的效果是一样的,只是写法不一样而已。
下面我们再来看一看有密码保护的外部数据库的访问。
三、用SQL访问有密码保护的外部数据库表
现在我们将“Test.accdb”复制到D盘的根目录中,用ACCESS以独占方式打开,然后设置密码保护,为了简化过程,我们将密码设置为“123456”,关闭当前打开的“Test.accdb”数据库。
新建一个数据库,创建一个新的SQL查询,输入如下SQL语句:
Select *
FROM 成绩1 IN '' [MS ACCESS;PWD=123456;DATABASE=D:\Test.accdb];
执行后观察,与前面显示的数据记录是一样的,表明有密码保护的数据库安全打开,操作完成。也可以用前面示例的没密码保护的数据库操作一样,写成多种格式的语句,只要加上“PWD=密码”就可以了,这里就不再列出了,有兴趣的朋友可以自己测试。
Access软件网QQ交流群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 【Access选项卡示例】Ac...(09.09)
- 【Access源码示例】按输入...(09.02)
- 【Access日期区间段查询】...(08.29)
- 【Access日期区间段查询】...(08.27)
- Access怎样才能实现日期时...(08.21)
- 【Access定时打开查询】A...(08.19)
- Access生成固定数量的记录...(08.13)
- Access怎样才能实现日期时...(08.12)
- Access利用导航窗体控件对...(08.03)
学习心得
最新文章
- Access自定义函数命名为中文名...(09.20)
- Access表中的字段名、字段标题...(09.19)
- Access快速开发平台--更改“...(09.18)
- 【中秋及国庆优惠】Access培训...(09.15)
- Access如何将日期型的数值转换...(09.14)
- 英文输入法输入数据中存在单引号引起...(09.11)
- 【Access选项卡示例】Acce...(09.09)
- 让Access光标停留在指定的控件...(09.07)
- 关于Access查询条件里使用通配...(09.06)
- Access报表偷懒制作法--Ac...(09.05)