第15章VFP数据库操作基础
学生管理库SM
学生STUDENT(学号,姓名,性别,生日,系别,走读否,照片,简历)
课程COURSE(课程号,课程名,学分)
选修SC(学号,课程号,成绩)
VFP界面介绍
启动VFP
开始菜单项
桌面快捷图标
快速启动工具栏图标
由数据库(项目)文件启动
设置工作目录
工具→选项→文件位置
默认目录
设置默认值
命令的使用方式
菜单
命令窗口
显示命令窗口
窗口→命令窗口
Ctrl+F2
VFP命令语法规则
命令结构☆
命令的书写规范
命令必须以命令名开始,命令名后面的子句的先后顺序是任意的
命令中的命令名与子句及子句之间必须用空格来分隔,空格一个以上
命令行的最大长度为254个字符,用“;”续行书写
可以任意使用大小写字母
命令动词和关键字应留作保留字用
为书写方便,命令名可只写前4个字母
每条命令后面可用“&& <注释>”对命令进行说明
子句
<Scope范围>:用来指定数据库文件的记录范围
ALL:所有记录
NEXT n:从当前记录开始的n条记录
RECORD n:第n条记录
REST:从当前记录开始到最后一条记录(结束)
FIELDS <FieldList字段名列表>
用来指明要投影的字段
字段名间以“,”分隔
省略:表示所有字段
FOR <Expression条件表达式>
对满足条件表达式的记录进行操作
相当于选取操作
WHILE <Expression>
从当前记录开始向下查找使条件表达式为真的记录进行操作
直至表达式为假时结束
表操作
创建表
文件→新建→表→新建文件→输入表名和保存位置
CREATE [FileName | ?]
构造表
输入字段名
中英文均可
128个字符以内,但5个汉字以内为好
数据库表和自由表的限制不同!
选择字段类型
字符型
货币型
数值型
浮动型
日期型
日期时间型
双精度型
整形
逻辑型
备注型
通用型
字符型(二进制)
备注型(二进制)
字段宽度
通过微调按钮改变
直接键入数值
小数点位
数值型
浮动型
双精度型
字段宽度=整数宽度+小数点位数+1
索引
NULL
保存表(确认)
关闭窗口
确定
Ctrl-End
Ctrl-W
放弃表(取消)
Esc
Ctrl-Q
文件类型
表文件:DBF
备注文件:FPT
索引文件:CDX
打开表
USE [[DatabaseName.]Table] [IN WorkArea]
显示表结构
LIST STRUCTURE
修改表结构
命令
显示→表设计器
MODIFY STRUCTURE
操作
更改字段
插入字段
删除字段
更改字段的前后位置
复制表结构
COPY STRUCTURE TO FileName [FIELDS FieldList]
复制表内容
COPY TO FileName [FIELDS FieldList] [Scope] [FOR Expression1] [WHILE Expression2]
关闭表
USE
记录操作
定位记录
表→转到记录→第一个|末一个|下一个|前一个|记录号|定位
GO [RECORD] RecordNumber
GO TOP | BOTTOM
GOTO [RECORD] RecordNumber
GOTO TOP | BOTTOM
SKIP [Records]
LOCATE FOR Expression1 [Scope] [WHILE Expression2]
显示记录
LIST [FIELDS FieldList] [Scope] [FOR Expression1] [WHILE Expression2] [OFF]
DISPLAY [[FIELDS] FieldList] [Scope] [FOR Expression1] [WHILE Expression2] [OFF]
区别
List默认为所有记录,Display默认为当前记录
List满屏不暂停,Display满屏暂停
相当于SQL中的SELECT语句
浏览记录
显示→浏览
BROWSE [FIELDS FieldList] [FOR Expression [REST]] [NOAPPEND] [NODELETE] [NOEDIT | NOMODIFY]
添加记录
显示→浏览/编辑→追加方式
表→追加新记录
APPEND [BLANK]
编辑记录
显示→浏览/编辑
EDIT [FIELDS FieldList] [Scope] [FOR Expression1] [WHILE Expression2] [NOAPPEND] [NODELETE] [NOEDIT | NOMODIFY]
CHANGE [FIELDS FieldList] [Scope] [FOR Expression1] [WHILE Expression2] [NOAPPEND] [NODELETE] [NOEDIT | NOMODIFY]
定位字段
下个字段
鼠标点击
Tab键
回车
输满时
上个字段
鼠标点击
Shift-Tab
Shift-回车
更新记录
表→替换字段
REPLACE FieldName1 WITH Expression1 [, FieldName2 WITH Expression2 ] ... [Scope] [FOR Expression1] [WHILE Expression2]
标记删除记录
表→删除记录
表→切换删除标记(Ctrl-T)
DELETE [Scope] [FOR Expression1] [WHILE Expression2]
SET DELETED ON | OFF:隐藏带删除标记的记录
恢复删除记录
表→恢复记录
表→切换删除标记(Ctrl-T)
RECALL [Scope] [FOR Expression1] [WHILE Expression2]
永久删除记录
表→彻底删除
PACK
清空数据表
ZAP
记录的滤波
SET FILTER TO [<条件表达式>]
滤波条件不影响SQL查询
数据库操作
创建数据库
文件→新建→数据库→新建文件→输入库名和保存位置
CREATE DATABASE [DatabaseName]
关闭数据库
CLOSE DATABASES [ALL]
打开数据库
文件→打开→文件类型→数据库→文件名
OPEN DATABASE [FileName]
修改数据库
文件→打开→文件类型→数据库→文件名
MODIFY DATABASE [DatabaseName] [NOEDIT]
数据库的文件类型
数据库(容器Container):DBC
数据库备注Memo:DCT
数据库索引Index:DCX
往库中加入表
加入新表
数据库→新表
快捷菜单→新表
添加现成表
数据库→添加表
快捷菜单→添加表
ADD TABLE <表名>
从库中移走表
数据库→移去
快捷菜单→删除
REMOVE TABLE <表名> [DELETE]
删除数据库
DELETE DATABASE DatabaseName [DELETETABLES] [RECYCLE]