全面掌握MS ACCESS SQL(51)
时 间:2018-02-01 10:22:33
作 者:Big Young ID:252 城市:襄阳
摘 要: 在ACCESS中用SQL操作DBF数据库。
正 文:
第四节 用SQL操作DBF数据库
DBF是一种数据库格式的文件,Foxbase,Dbase,Visual FoxPro等数据库管理系统所产生的数据库文件。DBF数据库是常用的桌面型数据库,它曾经被各企业、事业单位广泛使用。现在,虽然已经有了很多的各种各样的小、中、大型数据库,DBF数据库依然被很多单位用于数据交换。
DBF数据库文件的版本众多,对ACCESS来说并不直接支持高版本的DBF文件,只支持DBASE III、DBASE IV、DBASE 5.0这几个版本,其它高版本的不内植支持,需要另外安装VISUAL FOXPRO的驱动并通过ADO组件进行访问,因而在ACCESS SQL中我们用SQL语句只能直接访问DBASE III、DBASE IV、DBASE 5.0这几种格式的DBF文件,下面我们就以DBASE IV格式的为例来说明用SQL操作DBF数据的具体用法。
一、SQL操作DBF数据库的完整语法
dbfFile IN "" [dBASE IV;DATABASE=path;]
或者:
[dBASE IV;DATABASE=path;].dbfFile
这里“dBASE IV”是数据库类型,可以用“DBASE III”或者“DBASE 5.0”替换,来读取或者生成不同版本的DBF数据库文件;“DATABASE=path”用于指明DBF文件所处的位置,需要是完整的文件路径;“dbfFile”指的是将被访问的DBF数据文件的名字,由于DBF起源于DOS系统,文件名应遵循8.3结构的规则,就是主文件名最多8个英文字符,扩展名为DBF。
二、用ACCESS SQL创建DBF数据库表文件
下面我们来创建一个新的DBF数据库表文件,SQL语句如下:
Create TABLE [dBase IV;DATABASE=D:\SQL for ACCESS\].[成绩.dbf]
(
考生号 TEXT(15),
姓名 TEXT(8),
语文 INTEGER,
数学 INTEGER,
英语 SHORT,
综合 SHORT
);
这个语句执行后,会在指定的目录“D:\SQL for ACCESS\”下创建一个名为“成绩.dbf”的表文件。这里需要说明的是:在此类创建或修改的SQL定义语句中不能使用“IN”关键字,只能使用“格式串.库表文件名”的格式,而且在语句中也不是所有的支持ACCESS特性的关键字都能用。
三、用ACCESS SQL修改DBF数据库表文件
对于创建的DBF表文件,我们还可以用SQL对其进行修改,如添加字段:
Alter TABLE [dBase IV;DATABASE=D:\SQL for ACCESS\].[成绩.dbf]
ADD COLUMN 总分 SHORT;
或者删除字段:
Alter TABLE [dBase IV;DATABASE=D:\SQL for ACCESS\].[成绩.dbf]
Drop COLUMN 总分;
这里要注意,由于两种数据库的数据类型不一定完全一样,因而不能对外部DBF文件中的已有字段进行修改,也就是说我们对DBF文件的修改只限于增添字段或删除字段。
四、用SQL向DBF表中追加记录
1、追加一条记录
Insert INTO (dBase IV;DATABASE=D:\SQL for ACCESS\) 成绩.dbf ( 考生号, 姓名, 语文, 数学, 英语, 综合 )
VALUES ('10420601118888', '张三', 120, 105, 100, 230);
2、追加多条记录
Insert INTO (dBase IV;DATABASE=D:\SQL for ACCESS\) 成绩.dbf
Select *
FROM tbltemp;
追加时应与目标表中的数据类型与长度相匹配,不然会出错或丢失数据。
五、用ACCESS SQL更新DBF表中的数据
Update [dBase IV;DATABASE=D:\SQL for ACCESS\].成绩.dbf SET 姓名 = '万岁'
Where 考生号='10420601110130';
此语句将“成绩.dbf”表中的“考生号”为“10420601110130”的记录中的“姓名”列更新为“万岁”。
六、用SQL删除DBF库表文件中的记录
Delete *
FROM [dBase IV;DATABASE=D:\SQL for ACCESS\].成绩.dbf
Where 考生号='10420601110129';
七、用ACCESS SQL语句删除DBF文件
Drop TABLE [dBase IV;DATABASE=D:\SQL for ACCESS\].[成绩.dbf];
关于从DBF文件中查询或导出数据到ACCESS的表中的示例,由于此类语句比较常见,这里就不再一一列举了,留给大家自己去测试吧。
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)
学习心得
最新文章
- 高效率在导入数据前删除记录(11.10)
- Access系统自带的日期选择器不...(11.08)
- 分享一下Access工程中的acw...(11.07)
- Access快速开发平台--让有权...(11.04)
- Access快速开发平台--审批选...(11.01)
- ACCESS两张表先各自排序,然后...(10.31)
- Access对子窗体数据进行批量+...(10.30)
- SqlServer中如何用SQL命...(10.29)
- Access报表中的分组功能用代码...(10.28)
- 用Access计算库存结余的一个方...(10.26)