《表的基本操作》PPT课件.ppt_第1页
《表的基本操作》PPT课件.ppt_第2页
《表的基本操作》PPT课件.ppt_第3页
《表的基本操作》PPT课件.ppt_第4页
《表的基本操作》PPT课件.ppt_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4章 表的基本操作,Visual Foxpro 操作方式,菜单方式:通过选择菜单项完成操作。 程序方式:以程序的方式完成操作。 命令方式:在命令窗口一次输入一条命令。 命令语法:命令动词开头、关键词Foxpro保留字、 必填项、 任选项、| 多选一、XX表(XXList)逗号分开的内容。,下一张,数据表的分类,自由数据表:以数据文件形式独立储存于磁盘中的数据表。 DBASE III FOXPRO 数据库数据表:储存于磁盘中但由数据库管理的数据表。 VISUAL FOXPRO,下一张,创建自由表,数据表:是一组相关的数据按行和列排列的二维表各,通常用来描述一个实体。 数据表的构成:表名+结构+内容,学生信息.dbf,下一张,表结构内容,字段名:字母或汉字开头+数字+下划线。 字段类型: 字段宽度:占用字节数,备注和通用(FPT) 小数位数:只对数值型字段。 List structure 总长度=各字段长度之和+1 备注型为变长字段,下一张,建立表结构,使用“命令方式”建立表 语法:Create 文件名|? 例:Create studinfo.dbf 直接输入文件名 Create ? 通过对话框输入文件名 指定保存文件的缺省文件夹 命令方式:Set default to g:zhs 菜单方式:“工具”|“选项”|“文件位置”|“默认目录”,下一张,连续显示数据表结构,语法:List structure to print | to file 文件名,分页显示数据表结构,语法:Display structure to print | to file 文件名,下一张,修改数据表结构,语法:Modify Structure 打开表结构编辑窗口,修改表结构。 修改表结构时应该逐项修改逐项保存,避免同时修改多个字段名和宽度等。,下一张,建立数据表结构,使用“表设计器”建立数据表结构 打开项目管理器。 选“数据”|“自由表”。 单击“新建”。 单击“新建表”。 输入自由表文件名。 单击“保存”。 编辑数据表结构。,下一张,建立数据表结构,使用“表向导”建立数据表结构。利用样表字段创建数据表。 打开项目管理器。 选“数据”|“自由表”。 单击“新建”。 单击“表向导”。 选择样表和字段。单击“完成”。 输入自由表文件名。 单击“保存”。,下一张,复制表结构,将一个数据表的全部或部分结构复制给一个新的自由表。 语法:copy stru to fields 复制全部字段 Use studinfo Copy stru to studbak 复制部分字段 Use studinfo Copy stru to studbak1 fields 学号,姓名,性别,下一张,键盘输入表数据,建立表结构后立即输入数据 先建表结构,以后再输入数据,下一张,追加记录,键盘追加一条记录 单击“文件”|“打开” 选表,“确定” 单击“显示”|“浏览” 单击“表”|“追加新纪录”或按Ctrl+Y,下一张,追加记录,将另一个来源表中的全部或部分记录追加到当前表 打开表“当前表” 单击“显示”|“浏览” 单击“表” | “追加记录” 选择“来源表” 设置“选项”(字段、条件) 注:追加的字段必须是当前表与来源表中共有的,下一张,命令方式复制表结构和记录,将当前表中的全部或部分记录或字段。 语法:copy to database fields 范围 for while Database 数据库名 目的数据库 For 与 while 同时出现,while 优先。 例:copy to studinf2 for 性别=“女” Copy to studinf3 for 性别=“男” fields 姓名,学号,下一张,修改表结构,交互方式: 打开项目管理器 选择“数据”|“自由表” 选中数据表名 单击“修改” 命令方式: Use 数据表名 Modi stru 注:永久性修改确认,下一张,数据表记录的基本操作,打开数据表 打开项目管理器,选表,单击“浏览”。 单击“文件”|“打开”,选表名,单击“确定”。 命令方式: 语法:use |? exclusive|shared 关闭当前数据表 命令方式: 语法:use 注:打开新数据表自动关闭原数据表。 单击“文件”|“关闭” 只关闭窗口,未关闭数据表。,下一张,打开数据表,一个工作区中只能打开一个数据表。 可以在多个工作区中同时打开不同的数据表。 同时打开的多个数据表中只有一个为当前表。 Exclusive独占方式打开。 Shared共享方式打开。 修改表结构时,该表必须以独占方式打开。,下一张,查看数据表中的数据,使用“浏览”窗口 单击“文件”|“打开” 输入表名,单击“确定” 单击“显示”|“浏览” 定制“浏览”窗口 改变列的位置。拖动列名 拆分“浏览”窗口。拖动左下角黑块 改变“字体”和“字号”。单击“表”|“字体” 打开或关闭网格线。单击“显示”|“网格线”,下一张,过滤(筛选)数据,按照指定条件筛选数据表中的记录。选择运算 单击“文件”|“打开” 输入表名,单击“确定” 单击“显示”|“浏览” 单击“表”|“属性” 单击“数据过滤器”,组织筛选条件。 筛选条件:女的四川籍学生 条件表达式:性别=“女” .and. 籍贯=“四川”,下一张,过滤(筛选)数据,按照要求筛选数据表中的字段。投影运算 单击“文件”|“打开” 输入表名,单击“确定” 单击“显示”|“浏览” 单击“表”|“属性” 单击“允许访问”|“字段筛选”,选择筛选的字段。(可以编辑的字段),下一张,命令方式查看数据,打开“浏览”窗口 语法:browse fields :H= for freeze lock :H= 改变“浏览”窗口表头名 Freeze指定可编辑字段 Lock 指定左边固定列的列数,下一张,命令方式查看数据,连续List或分页Display显示数据记录 语法:List | Display fields 范围 for while Off to print | to file Off 不显示记录号。 To print 输出数据记录至打印机。 To file 输出数据记录至文件。 例:list for 性别=“女” to file nusheng.txt,下一张,命令方式查看数据,过滤(筛选)记录 语法:Set filter to 例:Set filter to 入学成绩550 browse 筛选字段,指定允许访问的字段 语法:Set fields to | all All 全部字段 例:Set fields to 学号,姓名,性别 browse,下一张,记录指针的定位,记录指针:指向表中一条数据记录的标记。 一个数据表只有一个指针。 被指针所指向的记录的为当前记录。 打开数据表时指针指向开始的记录。 每条记录有一个唯一的记录号。 开始的位置有一个头标。 结束的位置有一个尾标。 指针可以向前或向后移动,但是不能移出界外,下一张,数据表记录指针,头标、尾标,尾标,头标,1 2 3 4,指针,返回,记录(指针)定位,将指针指向某一位置(绝对位移) 语法:Go top | bottom | Top 指向表的开始位置 Bottom 指向表的结束位置 指向表中第n号记录 使用Go 时要防止指向界外 Go 不受索引文件影响 Go top | bottom 受索引文件影响,下一张,记录(指针)移动,改变指针的位置(相对位移)。以指针当前指向的位置为准向前或者向后移动n条记录。 语法:Skip n N0向表尾的方向(向后)移动 没有n时,skip等价于skip 1 Eof()返回真(.t.)指向头标 Bof()返回假(.f.)指向尾标 每移动一次都要判断指针的位置,防止越界,下一张,根据条件定位指针,将指针指向满足给定条件的第一条记录 语法:Locate for 范围 while Continue 继续按照Locate中的条件向后搜索 没有满足条件的记录,eof()返回真、found()返回假。 默认的范围选项为All 注:使用菜单,单击“编辑”|“查找”|”表”|”转到记录”|”定位”,下一张,插入记录,在指针指向的位置插入一条空白记录 语法:Insert blank before Blank 插入空白记录 Before 当前记录之前,缺省时在当前记录之后 注:尽量不用insert命令往数据表中加入新记录,下一张,在表尾追加新记录,在当前表尾部追加一条记录 语法:Append blank Append 交互式追加记录。打开窗口。 加blank 追加一条空白记录。不打开窗口,常用于程序中的记录追加。,下一张,追加文件记录,将一个文件中数据追加至当前表尾部 语法:Append from | ?fields for delimiter with | sdf | xls 将当前表中数据拷贝至一个文件中 语法:Copy to fields for delimiter with | sdf | xls,下一张,追加数组记录,将数组中的数据追加至当前表的尾部 语法:Append from array for fields 将当表中的数据拷贝至数组中 语法:Copy to array for fields ,下一张,追加通用型数据,将图片文件加入通用型字段 语法:Append general 通用型字段名 from 图片文件为BMP格式。,下一张,追加备注型数据,将文本文件内容复制到备注型字段 语法:Append memo from overwrite 文本文件应为纯文本文件。 有Overwrite 选项覆盖原备注型字段内容。 无overwrite 选项则追加至备注型字段的尾部。,下一张,逻辑删除数据记录,为删除的记录打上删除标记 语法: Delete 范围 for while 交互方式:“浏览”,“表”|“删除记录” 缺省(默认)范围为当前记录。 记录总长=个字段宽度之和+1(1用于保存删除标记)。 可以使用recall命令取消删除标记,恢复正常状态。,下一张,恢复记录删除标记,将打上删除标记的记录取消标记恢复正常状态。 语法:Recall 范围 for while 交互方式:“浏览”,“表” | “恢复记录” 缺省(默认)范围为当前记录。,下一张,删除标记状态设置,决定由删除标记的记录是否参加处理 语法:Set delete On | Off On 过滤掉由删除标记的记录,不参加处理。 Off 有删除标记的记录参加处理。,下一张,物理删除,从数据表中物理删除带有删除标记的记录 语法:Pack 交互方式:“浏览”窗口,“表”|“彻底删除” 执行Pack后将无法恢复,下一张,清除数据库,将表中的记录全部物理删除,只保留结构 语法:Zap 执行Zap后将无法恢复。 Zap等价于dele all,pack。前者速度快,后者速度慢。,下一张,修改(替换)表中数据,用指定数据修改表记录中指定字段的内容 语法:Replace with additive , with additive 范围 for while 缺省(默认)范围为当前记录。 带Additive 选项,追加到备注型字段后面。 无Additive选项,替换备注型字段的内容。,下一张,记录传送到数组,把数据记录复制到数组变量中 语法:Scatter fields Memo to blank | blank Memo 备注型字段参加处理 Memvar 作为数组名使用 Blank 数组元素类型与字段一至,值为空。,下一张,数组传送到记录,将数组元素中的数据传送到当前记录指定字段 语法:Gather from | fields Memo Fileds 选项用于替换指定字段内容,下一张,表数据排序与索引,对表中数据以一个或多个字段为关键字按照一定的顺序排列 排序:物理排列 索引:逻辑排列 从小到大排列为升序。Ascending 从大到小排列为降序。Descending,下一张,排序(物理排列),对表中数据按照关键字进行升序或降序排列,并生成一个排序后新的数据表(例题) 语法:Sort to on /A|/D /C ,字段名2 /A|/D/C Ascending | Descending 范围 for while fields 缺省(默认)范围为All Ascending不带/D的为升序。 Descending不带/A的为降序。 字段名1为第一排列,相同时按字段名2排列。 /C忽略大小写。,下一张,Sort排序例题,use studinfo sort to srxcj on 入学成绩/d,学号/a use srxcj brow,返回,索引(逻辑排列),对表中数据按照关键表达式进行升序或降序排列(索引),并生成索引文件。 索引的作用就是按关键表达式升序或降序方式显示数据记录。 提高检索速度。Locate顺序检索,seek索引检索。 不改变数据存储顺序,只改变数据读取顺序。,下一张,Seek索引查找速度快“折半查找”,工资表.dbf 记录号 工资 1 5000 2 10000 3 7500 4 1 480 2 10000 9999,Gz.idx 记录号 工资 4 1 480 2 1 5000 3 7500 10000 9999 2 10000,索引查找Seek 9999,顺序查找Loca for 工资=9999,返回,索引文件类型,单索引文件,扩展名为IDX。 结构复合索引文件,索引文件名与表文件名同名,扩展名为CDX。 非结构复合索引文件,扩展名为CDX。 独立索引文件兼容了以前版本数据库系统。 索引文件不能单独使用,只能在打开与其关联的数据库后,其索引功能才能起作用。,下一张,索引的类型,主索引:索引字段值必须唯一,一个表只能有一个主索引。用于数据库表。 候选索引:索引字段值必须唯一,一个表可以有多个候选索引,作为主索引的候选索引。用于自由表或数据库表。 普通索引:索引字段值可以重复,一个表可以有多个普通索引,索引顺序为处理顺序。用于自由表或数据库表。 唯一索引:索引字段值可以重复,一个表可以有多个唯一索引,第一个重复字段值加入索引文件。用于自由表或数据库表。,下一张,表设计器建立索引文件,交互方式建立索引 单击“文件”|“打开” 输入表名,单击“确定” 单击“显示”|“表设计器” 单击“索引” 输入索引名 索引表达式(可以是一个字段或组合字段),下一张,命令方式建立索引,语法:Index on 索引表达式 to idx单索引文件名 | tag 索引标识 of for Compact Ascending | Descending Unique Additive 无of选项索引保存在结构复合索引文件中。 带of选项索引保存在普通复合索引文件中。 Unique选项只有第一个索引值参加索引。 Additive选项当前索引文件保持打开状态。 索引标识可以区别于字段名。 索引文件类型,下一张,索引文件类型,Use zhs002.dbf 单索引文件(索引文件名任意,扩展名为idx) Index on to 例:Index on a to cc (cc.idx) 复合索引文件(索引文件名任意,扩展名为cdx) Index on tag of 例:index on e tag ee1 of eea (eea.cdx) 结构复合索引文件(索引文件名与表文件名同名,扩展名为cdx) Index on tag 例:index on a tag aa (zhs002.cdx),返回i,打开索引文件,打开表文件的同时打开索引文件 语法:Use |? in | again index |? order 索引号 | 单索引文件名 | tag of Ascending | Descending Alias Exclusive | Shared Noupdate Again 在另一个工作区重复打开已经打开的表 Order 指定主控索引 打开表文件时结构复合索引文件自动打开,下一张,打开索引文件,不关闭表补充打开索引文件 语法:Set index to |? order | | tag of Ascending | Descending Additive 索引件名表中第一个索引文件为主控索引文件。 Additive选项不关闭此前打开的结构复合索引文件。,下一张,关闭索引文件,只关闭索引文件不关闭表 语法1:Set index to 语法2:Close index 结构复合索引文件随表文件一起打开和关闭。,下一张,确定主控索引,在同时打开的多个索引文件中指定主控索引 语法:Set order to | | tag of in | Ascending | Descending 索引号的排列顺序:单索引,结构复合索引,复合索引,同一类索引按排列的先后顺序 Set order to 0不关闭索引,但访问为物理顺序,下一张,维护索引,增加、修改、删除、重建索引 增加索引:与建立索引相同 修改索引:在表设计器中完成 删除索引: 语法1:Delete tag of ,tag of 语法2:Delete tag all 删除(结构)复合索引文件 重建索引:语法:Reindex(速度),下一张,索引查找,按照指定索引关键字查找记录 语法:Seek order | | tag索引标识名of Ascending | Descending in | 索引查找Seek与顺序查找Locate命令的区别 Locate灵活,查找条件任意 Seek速度快,只能对索引关键字进行查找,下一张,统计记录个数命令,统计记录个数命令 语法:Count 范围 for while to ,下一张,求和数据处理命令,在当前表中对一个多个或全部数值字段求和 语法:Sum 求和表达式表 范围 for while to | to array 缺省求和表达式将对所有数值型字段求和。 变量个数应等于求和表达式个数。 如果不知道数值型字段个数也可以采用数组接受求和结果,下一张,求平均值数据处理命令,在当前表中对一个多个或全部数值字段求平均值 语法:Average 求平均值表达式表 范围 for while to | to array 缺省求平均值表达式将对所有数值型字段求平均值。 变量个数应等于求平均值表达式个数。 如果不知道数值型字段个数也可以采用数组接受求平均值结果。,下一张,分类汇总数据处理命令,在当前表按照分类字段进行分类,对数值型字段进行汇总求和,结果保存至一个新的数据表中 语法:Total to on 范围 fields 分类字段必须是一个已经排好序的或者建有索引的。 求和字段类型必须是数值型。,下一张,多个数据表同时操作,一个信息系统的数据将保存在多个数据表中。 经常要同时打开两个以上的数据表进行处理。 工作区的使用解决多表同时操作的问题。 注意事项: 一个工作区只能打开一个数据表。 一个数据表可以在多个工作区打开。 不同的数据表必须在不同的工作去打开。 工作区数最多可以有255个。 使用的多个工作区中只有一个为当前工作区。,下一张,切换(选择)工作区,选择区号或别名表所在工作区为当前工作区 语法:Select | 表别名是Use命令中Alias选项中定义的别名。 选择的工作区号可以不连续。 Select 0由系统选择当前最小的、没有使用的工作区。 进入Visual Foxpro时缺省的当前工作区为1号工作区。 函数select()返回当前工作区的区号。 跨工作区访问字段,应在字段名前加别名.。,下一张,使用数据工作期,数据工作期是当前一种动态工作环境 打开数据工作期窗口: 单击“窗口”|“数据工作期” 打开数据表: 单击“打开”,选择要打开的表 操作单数据表:选择表,单击”属性” 修改结构:单击“修改”,打开表设计器 筛选记录:单击“数据过滤器” 索引排序:选择“索引顺序” 筛选字段:单击“字段筛选”,下一张,使用数据工作期,表间关联:表与表之间的父子关系 关联作用:同步移动父子关系数据表中的指针 关联类型: 一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论