Visual Foxpro程序设计 第4章 表的操作.

Slides:



Advertisements
Similar presentations
数据结构的引入. 通讯录管理 社团机构管理 校园导航管理 通讯录管理 社团机构管理 校园导航管理.
Advertisements

3.1 表的建立 教学内容 :一、建立表结构 ; 二、输入数据. 重点 :建立表 难点 :建立表.
Chapter 3: SQL.
第六 章数据库访问页 6.1 数据访问页视图 6.2 创建数据访问页 6.3 编辑数据访问页 6.4 查看数据访问页 退出.
第5章 关系数据库标准语言SQL 主讲:张丽芳.
授课-2 自由表操作(一) 2.1 表的基本操作(一) 2.2 表结构的有关操作
Excel(2010) 基本操作(入门) ——季振华.
第二章 数据库及其操作 本章基本目标 *掌握数据库和数据表的操作及与其操作相关的简单命令 *掌握数据库表和自由表的区别以及两者相互转化
数据库原理及应用 《数据库原理及应用》课程组 荆楚理工学院.
第4章 关系数据库标准语言SQL 4.1 SQL语言概述 4.2 SQL数据查询功能 4.3 SQL数据操作功能 4.4 SQL数据定义功能.
第3章 数据操纵功能 数据操纵 在关系数据库中,经常需要进行插入新记录、删除或修改已有记录等数据操纵(Data Manipulation)。
各章思考与练习参考答案.
(第11讲) Mysql 简介和创建新的数据库 本讲大纲: 1、MYSQL简介与概要 2、访问MYSQL的几种途径
第四章 排序、索引与数据库 教学目标: 教学重点:排序、索引。 教学难点:访问远程数据源,创建本地和远程表的视图 。
《计算机应用基础》 第六章 Access数据库管理系统
第4章 表与数据库的基本操作.
Oracle数据库 Oracle 子程序.
主 要 内 容 第一章 数据库系统基础知识 第二章 Visual Foxpro 操作基础 第三章 Visual Foxpro 的数据及其运算
图表的创建.
授课-3 自由表操作(二) 3.1 表的基本操作(二) 3.2 数据统计操作
在PHP和MYSQL中实现完美的中文显示
Hadoop I/O By ShiChaojie.
第三章 数据库和表的操作.
第2章 VisualFoxPro6.0基础 VisualFoxPro的发展 VisualFoxPro的特点
第八章 菜单设计 §8.1 Visual FoxPro 系统菜单 §8.2 为自己的程序添加菜单 §8.3 创建快捷菜单.
数据库原理及应用 《数据库原理及应用》课程组 荆楚理工学院.
SQL SERVER 一些经典语句 1.
SPARQL若干问题的解释 刘颖颖
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
数据库基础 1.
第一讲: 基本流程(1).
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
科研信息管理工具 Endnote X4 王辉.
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
顺序表的删除.
SQL 范引娣.
直接扫描保存成TIF格式, 其他图片格式用Windows XP自带的 Windows图片与传真查看器打开
SQL查询语句 蔡海洋.
VB与Access数据库的连接.
姚金宇 MIT SCHEME 使用说明 姚金宇
学习目标 1、什么是索引 2、索引类型 3、Mysql Workbench管理索引 4、索引语法.
项目二:HTML语言基础.
Web安全基础教程
ES 索引入门
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
第六章 Excel的应用 一、Excel的单元格与区域 1、单元格:H8, D7, IV26等 2、区域:H2..D8, HS98:IT77
第4章 Excel电子表格制作软件 4.4 函数(一).
实验三 16位算术逻辑运算实验 不带进位控制的算术运算 置AR=1: 设置开关CN 1 不带进位 0 带进位运算;
iSIGHT 基本培训 使用 Excel的栅栏问题
数据库应用基础 电大崇信县工作站:王 敏.
Visual Basic程序设计 第13章 访问数据库
VRP教程 2011.
Delphi 7.0开发示例.
SpringerLink数据库使用说明 上海师范大学图书馆
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
Python 环境搭建 基于Anaconda和VSCode.
期末复习.
第六章 Excel的应用 五、EXCEL的数据库功能 1、Excel的数据库及其结构 2、Excel下的数据排序 (1)Excel的字段名行
第三章 Visual FoxPro数据库和表
讲 稿 内 容 一、数据结构分析 二、学位授予数据整理 三、学位授予数据导入 四、校验及纠错 五、照片导入 六、数据上报 七、常见问题与技巧
基于列存储的RDF数据管理 朱敏
Visual FoxPro 应用基础与面向对象 程序设计教程
VB与Access数据库的连接.
第8章 创建与使用图块 将一个或多个单一的实体对象整合为一个对象,这个对象就是图块。图块中的各实体可以具有各自的图层、线性、颜色等特征。在应用时,图块作为一个独立的、完整的对象进行操作,可以根据需要按一定比例和角度将图块插入到需要的位置。 2019/6/30.
第四章 UNIX文件系统.
使用ADO访问数据库 李宝智 BonizLee 课程 10564A
第4章 数据查询.
第六讲 酒店客房管理系统(二) 教育部“十二五”职业教育国家规划教材
RefWorks使用指南 归档、管理个人参考文献.
学习目标 1、什么是列类型 2、列类型之数值类型.
Presentation transcript:

Visual Foxpro程序设计 第4章 表的操作

第四章 表的操作 表的建立与修改 1 表的显示与维护 2 表中数据的过滤 3 表的排序与索引 4 查询信息 5 数据统计 6 多表操作 7

4.1 表的建立与修改 记录(Record) 表的结构 B C A 字段(Field) 表结构(Structure)

字段的基本属性 小数位数 字段属性 字段名 字段宽度 字段的数据类型

4.1.1表结构的创建和修改 菜单方式 命令方式 CREATE ? CREATE 表文件名 用菜单或工具栏打开“表设计器”

交互式:用表设计器(Table Designer)定义表结构 选定NULL表示可以接受不确定的值,便于和其它数据库通用。

2、修改表结构 菜单方式 命令方式 在“项目管理器”中使用“修改”按钮 MODIFY STRUCTURE

4.1.2记录的处理 记录的追加 命令 APPEND [BLANK] APPEND FROM <文件名> 立即输入记录 浏览状态下追加记录 编辑状态下追加记录 备注型数据输入 通用型数据输入

4.1.3数据的显示和修改方式 用编辑方式显示和修改数据 用浏览方式显示和修改数据 记录的修改EDIT命令 EDIT [<范围>] [FOR<条件>]

BROWSE [<范围 >] [FIELDS<字段名表>] [FOR< 条件表达式>][LAST] 命令: BROWSE [<范围 >] [FIELDS<字段名表>] [FOR< 条件表达式>][LAST] 记录在窗口中的两种显示方式: 浏览方式 编辑方式

4.1.4数据表的打开与关闭 USE [<表文件名>] [EXCLUSIVE] [SHARED] 说明: ①命令功能:在当前工作区打开或关闭表; ②缺省<文件名>选项,表示关闭当前工作区中的表; ③打开表时,自动关闭先前已打开的表; ④USE ? 命令等效于“文件”菜单的“打开”命令。此时若要进行修改操作,则需选定“独占”复选框。此时相当于执行命令USE <表文件名> EXCLUSIVE。

关闭表的一些方法

4.2表的显示与维护 4.2.1记录的指针 记录开始标志 记录指针 记录结束标志 系统在打开一个表文件后将自动生成三个控制标志: 记录开始标志、记录指针标志、记录结束标志。 文件头 (含表结构等信息) 第1号记录 第2号记录 第n号记录 记录开始标志 记录指针 记录结束标志

1、记录指针 记录指针是VFP系统内部的一个指示器,在表中指向记录。 记录指针指向的记录叫当前记录,改变指针的指向叫记录的定位。 测试当前记录用函数RECNO()。 打开表时记录指针情况: 表中无记录:BOF()=.T. EOF()=.T. RECNO()=1 表中有记录:BOF()=.F. EOF()=.F. RECNO()=1

2、记录的定位方式 1 记录指针的 绝对移动 2 记录指针的 相对移动 3 记录的条件 定位

记录的定位移动记录指针 菜单:打开浏览窗口,选择“表/转到记录”菜单命令 命令 ① 绝对移动:[GO[TO]] <记录号>|TOP|BOTTOM 功能:将记录指针定位在指定记录号的记录上  TOP表示第一条记录,BOTTOM表示最后一条记录 ② 相对移动:SKIP [+|-][<算术表达式>] 功能:将记录指针从当前位置向前或向后 移动若干条记录位置 ③ 条件定位: LOCATE [<范围>] FOR <条件> 功能:查找满足条件的第一条记录  “FOR<条件>”是必须的;使用CONTINUE 命令可继续查找下一条满足条件的记录

3、表结构和记录的显示 显示表结构 命令格式: LIST / DISPLAY STRUCTURE 显示表记录 LIST/DISP [<范围>] [FIELDS<字段表>] [FOR/WHILE <条件>] [OFF] [TO PRINTER] 使用OFF 选项表示显示时不显示记录号。 LIST 和 DISPLAY 的区别

4.2.2表记录的插入 INSERT [ BEFORE] [BLANK] 命令功能:在指定(当前)记录的后面或前面插入一条或多条记录,也可插入空记录。

4.2.3记录的删除 界面方式删除 删除记录的方法 ①做删除标记 ②彻底删除带标记的记录 ①对少量的记录直接在浏览窗口中删除 ②在某一范围内删除一组符合特定条件的记录 ③“表”菜单中的“删除记录…”命令项 ④“表”“恢复记录” ⑤“表”“彻底删除” 删除记录的方法

1、记录的删除 物理删除 删除 逻辑删除

2、有关删除记录的命令 删除:DELETE [范围] [FOR/WHILE<条件表达式>] 恢复删除:RECALL [范围] [FOR|WHILE<条件表达式>] 彻底删除:PACK 删除所有记录:ZAP(不管记录是否有删除标记) 使用DELETE()函数可测试当前记录是否有删除标记 控制其它命令对有删除标记的访问SET DELE ON|OFF

命令图解 RECALL DELETE PACK ZAP 记 录 物理删除 逻辑删除

4.2.4表中数据的替换 语法 功能 REPLACE [<范围>] <字段1> WITH <表达式1> [ADDITIVE] [ <字段2> WITH <表达式2> [ADDITIVE]], …. ][FOR<条件>] 用WITH之后<表达式>的值替换WITH之前 <字段>的值。

4.2.5表的复制 1、复制任何文件 COPY FILE<文件名1> TO <文件名2> 2.从表复制出表或其他类型的文件 COPY TO <文件名> [FOR|WHILE<条件>] [FIELDS<字段名表>][TYPE][SDF|XLS]| DELIMITED[WITH<定界符>]

4.3表中数据的过滤 SET FILTER TO [<条件>] 按条件过滤记录,屏蔽不满足条件的记录。

4.3.2设置字段表(针对字段) SET FIELDS TO [[<字段1>[,<字段2>…]] 语法 命令 SET FIELDS ON|OFF

4.4表的排序与索引 SORT TO <新文件名> ON < 字段名1> [ /A | /D ] [ /C ] [,<字段名2> [/A | /D ] [ /C ] … ] [ <范围>] [ FOR <条件1> ] [ WHILE <条件2> ][ FIELDS<字段名表> ] 4.4.1表的排序

排序与索引 排序 原文件 索引 1 2 3 4 5 6 5000 6000 1000 4000 3000 2000 电视 冰箱 电磁炉 音响 放录机 洗衣机

4.4.2表的索引 物理顺序 记录的顺序 逻辑顺序

表的索引 记录的顺序 物理顺序: 表中记录的存储顺序。 按记录输入的时间顺序存放。 逻辑顺序: 记录的处理顺序。 对记录按某个(些)字段的值进行排序。

索引的构成 筛选条件 索引的构成 索引名 索引类型 索引表达式

索引文件的种类 B A C 独立索引文件(扩展名为.IDX) 表的结构 结构复合索引文件(扩展名为.CDX)

索引的类型 主索引(Primary Indexes) 候选索引(Candidate Indexes)。 普通索引(Regular Indexes) 唯一索引(Unique Indexes)

结构复合索引文件的创建 菜单方式 命令方式 在“表设计器”中创建 INDEX ON 索引表达式 TAG 索引标识名 [FOR 条件表达式][ASCENDING|DESCENDING] [UNIQUE|CANDIDATE]

索引的修改和删除 在“表设计器”中修改和删除索引。 用INDEX命令修改。(不能修改索引标识) 用REINDEX命令重整索引 用DELETE TAG命令删除索引 DELETE TAG 标识名1 [OF CDX文件1] [,标识名2 [OF CDX文件2]] DELETE TAG ALL [OF CDX文件名]

设置主控索引 主控索引 对表正在起作用的索引。 关闭索引 Set index to

索引 根据“索引表达式”的值进行记录的逻辑排序 建立一个逻辑顺序号与记录号(物理顺序)的对照表 索引的功能 建立一个逻辑顺序号与记录号(物理顺序)的对照表 索引机制 对照表存放的文件。一个索引文件中可存放很多索引 索引文件 记录增、改、删后,索引要进行相应的更新,否则索引 与表不匹配 索引更新

4.5 查询信息 LOCATE FOR <条件> [<范围>] [WHILE<条件>] 顺序查询命令 建立索引的目的就是为了快速查找。 快速查找

4.6统计命令 COUNT [<范围>] [ FOR<条件1>] [ WHILE<条件2>] [ TO〈内存变量〉] 计数命令 SUM |AVERAGE [<数值表达式表>] [<范围>] [ FOR | WHILE <条件>] [ TO <内存变量表 > | ARRAY <数组> ] 求和 CALCULATE <表达式表> [<范围>][FOR| WHILE <条件>] [TO<内存变量表>|ARRAY<数组>] 计算命令 Total on <关键字段> To <汇总文件名> [<范围>] [Fields<字段表>] [For<条件>] 分类汇总

计算命令 CNT( ) 统计记录数 SUM( )当前表数字字段求和 AVG( )当前表数字字段求平均值 MAX( )对当前表C、N、D等字段求最大值 MIN( )对当前表C、N、D等字段求最小值 STD( )对当前表的数值字段求标准偏差 VAR( )对当前表的数值字段求方差 Use 学生成绩 Calc sum(数学),avg(物理)

Total on 学号 to zcj fields 学号,成绩 Use zcj list 统计选课文件中每名学生的总成绩,并将结果保存在新表ZCJ.DBF Use 选课 List Index on 学号 tag xh Total on 学号 to zcj fields 学号,成绩 Use zcj list

小结 显示结构 复制结构 编辑结构 统计数据 数据表结构 数据表记录 新建表 打开/关闭 增加记录 删除记录 显示记录 修改记录 检索记录 LIST STRU MODI STRU COPY STRU 显示结构 复制结构 编辑结构 统计数据 数据表结构 数据表记录 新建表 打开/关闭 增加记录 删除记录 显示记录 修改记录 检索记录 排序 索引 复制表 CREATE USE SORT INDEX INSERT APPEND APPEND FROM BROWSE EDIT CHANGE REPLACE DELETE RECALL PACK ZAP LIST DISPLAY LOCATE CONTINUE FIND SEEK COUNT SUM CALCULATE AVERAGE TOTAL COPY

4.7多表操作 4.7.1工作区的选择与互访 1、工作区 2、工作区中表的别名 3、当前工作区 4、选用工作区 5、操作非当前工作区的字段

表的使用 工作区 工作区用以标识一个打开表的区域。 每个工作区有一个编号。 在某一时刻,一个工作区中只能打开一个表。 一个表可以在多个工作区中被多次打开。 1 2 3 内存

工作区中表的别名 表的别名是对工作区中打开的表的一个临时标识。 定义表的别名 打开表时指定别名 USE 表文件名 ALIAS 别名 Use 学生成绩 alias score 如果在打开表时没有指定别名,则系统默认用表文件名作为别名。 1 student 2 teacher 3 内存

当前工作区 VFP正在使用的工作区称为当前工作区。 用SELECT(0)(0 可省略)测试当前工作区号。 用ALIAS()函数测试当前工作区中表的别名。 状态栏中可显示当前工作区中表的别名。 1 xs 2 teacher 3 内存

选用工作区 将所在工作区设置为当前工作区 在命令中强行指定工作区 命令 IN 工作区|别名 在“数据工作期”窗口中设置。 使用命令:SELECT 工作区号|别名 操作非当前工作区中的表 将所在工作区设置为当前工作区 在命令中强行指定工作区 命令 IN 工作区|别名 SELECT 0:选择未使用最小编号的工作区

4.7.2数据表的关联操作 关联:令不同工作区的记录指针建立一种临时的联动关系,使一个表的记录指针移动时另一个表的记录指针能随之移动。

在数据工作期窗口建立关联 建立关联的命令 SET SKIP TO [ < 别名1 > [,<别名2>]……] SET RELATION TO [<关联表达式1>] INTO <别名1>[,[关联表达式2>]INTO<别名2>……][ADDITIVE]] 功能:以当前表为父表与其它一个或多个子表建立关联。 SET SKIP TO [ < 别名1 > [,<别名2>]……] 功能:创建表与表之间的一对多关系。

使用学生和选课表将陈刚同学的成绩提高5% Clear Sele 1 Use 学生 Index on 学号 to xs Sele 2 Use 选课 Set relation to 学号 into a Replace all 成绩 with 成绩*1.05 for a->姓名=[陈钢] List a->学号,a->姓名,成绩 for a->姓名=陈钢

4.7.3表的连接 JOIN WITH <工作区号>|<别名>TO<新表名>[FIELDS<字段名表>]FOR<连接条件>] 功能:按连接条件物理连接形成一个新表。

表的连接,新表具有两个表的字段 Sele 1 Use 学生 List Sele 2 Use 学生成绩 Jion with a to 学生情况 for 学号=a->学号 Sele 3 Use 学生情况 list

欢迎提问!