第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]