05第7章:表的基本操作
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3
二、表的打开与关闭
1
2
3
4
……
格式:USE [数据库名!]<表名> [in 工作区号|表的别名][alias 表的别名] 说明:
数据库名!表名:表明要打开的表名及其所属的数据库 in 工作区号:用于指定打开表的工作区号,如果“工作区 号”为0,则在序号最小的可用工作区中打开表文件 Alias 表的别名:打开数据表时并定义该表的别名 use:后面不带任何选项,表示关闭当前工作的数据表 当打开一个表后,自动为该表分配一个记录指针,并指向表 的第一条记录。表中记录指针所指向的记录称为当前记录
• 缺省范围和条件时,仅对当前记录做删除标志 • 在用List或Display命令显示数据表时,被逻辑删除的记录前 显示删除标志“*”;而在浏览窗口显示数据表时,则显示黑 色小方块
数据库系统原理及应用
15
七、删除记录命令
恢复被逻辑删除的记录:
格式:Recall [<范围>] [ For <条件>] 功能:去除指定范围内满足条件的记录的逻辑删除标志 说明: • 缺省范围和条件时,仅对当前记录去除删除标志 • 若事先用了Set Deleted on命令,则本命令不起作用
第 7章
表的基本操作
教学目的: 熟练掌握数据表(自由表)的相关操作命令 理解索引的概念与作用 熟练掌握索引的相关操作命令
1
1
2
3
4
……
一、工作区与别名
工作区:work area
工作区是计算机内存中划分的若干区域,每个区域上可以打 开一个数据表文件及相关的多个索引文件 VFP可以开启32767个工作区,每个工作区都有一个编号,编 号从1开始递增,0是一个特殊的工作区号,用来指定当前未 使用的最小工作区编号 对于1-10号工作区,还可以用字母A-J来表示。刚进入VFP 时,系统自动选择1号工作区 每个工作区至多只能打开一个表,如果在该工作区打开“新” 表,系统会自动把“原”表关闭 正在进行数据表操作的工作区称为当前工作区,该工作区打 开的表称为当前工作表,数据表的操作是在当前工作区的当 前工作表上进行的 工作区选择命令:select <工作区号 | 别名>
数据库系统原理及应用 11
六、添加记录命令
追加记录命令:
格式:Append [Blank] 功能:在当前数据表的未尾增加新记录 说明: • 缺省Blank短语时,出现记录编辑窗口,由用户在数据表 的未尾输入新记录的具体内容 • 选择Blank短语时,则不出现记录编辑窗口,由系统自动 在未尾添加一条空记录
数据库系统原理及应用 20
十、数据表统计命令
求平均命令: 格式:Average [<表达式表>][<范围>][For <条件>] [To <内存变量表>] 说明:
• <表达式表>中的各表达式可以是字段变量、内存变量、常 数、函数以及它们的各种组合,但整个表达式必须是数值 型的 • 缺省<表达式表>时,表示对数据表中所有的数值型字段平 均 • 有[To <内存变量表>]短语,则自动将求和的结果依次存 入指定的各内存变量中
数据库系统原理及应用Biblioteka 12六、添加记录命令
插入记录命令:
格式:Insert [Blank] [Before] 功能:在当前数据表指定的位置上插入一条新记录 说明: • 选用Before短语时,则在当前记录前插入,否则在当前 记录后插入 • 缺省Blank短语,将弹出记录编辑窗口,由用户键入插入 记录的具体内容;若选用Blank短语,则自动插入一条空 记录 • 插入新记录后,其后面的所有记录均自动顺序后移
数据库系统原理及应用 5
三、表结构操作
修改表结构命令: 格式:Modify Structure 功能:显示并修改当前打开的数据表结构 说明:经修改存盘后,系统自动备份原数据表文件,原.DBF 文件变为.BAK文件,原.FPT文件变为.TBK文件
数据库系统原理及应用
6
四、显示表记录
数据库系统原理及应用
10
五、记录指针移动(定位)
间接定位命令:相对移动
格式:Skip [<n>] 功能:相对于当前记录,记录指针向上或向下移动若干条记录 说明:
• 当<n>的值为正数时,向下移动<n>条记录;为负数时,向上移 动<n>条记录;缺省时,默认向下移动一条记录 • 当记录指针到达或超过文件头,则当前记录的记录号为1,且 BOF( )函数为真 格式:BOF( ) 功能:测试记录指针是否指向数据表的文件头 • 当记录指针到达或超过文件尾,则当前记录是文件尾,且 EOF( )函数为真 格式:EOF( ) 功能:测试记录指针是否指向数据表的文件尾
数据库系统原理及应用 2
一、工作区与别名
别名:Alias
别名是代表打开的数据表文件的一个简短名称 若打开一个数据表并定义了别名,则可用别名来选择该数据 表所在的工作区 若打开一个数据表时未定义别名,则默认将其数据表名作为 别名
1 xs 2 kc 3 成绩表 成绩表 ……
学生表
课程表
数据库系统原理及应用
数据库系统原理及应用
21
十、数据表统计命令
记录个数统计命令: 格式:Count [<范围>][For <条件>] [To <内存变量表>] 功能:统计指定范围内满足条件的记录个数 说明: • 缺省范围和条件子句时,将得到当前数据表中所有 记录的个数 • 有[To <内存变量表>]短语,则将统计结果存入指定 的内存变量中
8
四、显示表记录
在浏览窗口显示表记录: 格式:Browse [Fields <字段表>] [For <条件>] [Noappend] [Nomodify] 功能:以浏览窗口方式显示数据表内容 说明:
• Noappend:禁止追加记录 • Nomodify:禁止修改表中任何内容
浏览窗口
数据库系统原理及应用
17
八、修改记录命令
替换修改命令: 格式:Replace [<范围>] [For <条件>] <字段1> With <表达式1> [, <字段2> With <表达式2>,„„] 功能:对指定范围符合条件的记录, 用指定的<表达式>的值 替换指定<字段>的内容 说明: • 本命令不出现浏览窗口或编辑窗口,只在系统内部用指定 表达式的值快速替换指定字段的内容 • 缺省范围和条件时,仅对当前记录进行替换 • 本命令有计算功能,系统先计算表达式的值,再将该值赋 给指定的字段 • 表达式的数据类型必须与被替换的字段的数据类型一致 • 可以在一条命令中同时替换多个字段的值
数据库系统原理及应用
22
十、数据表统计命令
计算命令: 格式:Calculate <表达式表>[<范围>][For <条件>]
[To <内存变量表>] 功能:对指定范围内满足条件的记录分别计算指定的各个表 达式的值 说明: <表达式表>中至少应包含系统规定的8个函数之一。 常用的函数有:求和函数Sum()、求平均函数Avg()、 计数函数Cnt()、求最大值函数Max()、求最小值函数 Min() 有[To <内存变量表>]短语,则将计算结果存入指定 的内存变量中
在信息窗口显示表记录: 格式:List / Display [<范围>] [ For <条件>] [While <条件>] [Fields <字段列表>] 功能:输出指定范围内满足条件的记录内容 说明:
• 范围:确定记录的操作范围,有四种情况(P101)
–all:全部记录 –next <n>:包括当前记录在内的n条记录 –record <n>:仅对第n条记录进行操作 –rest:表示从当前记录开始到最后一条记录
• List缺省范围时,默认为ALL;Display缺省范围时,默 认为当前记录 • Display all输出内容满屏后会暂停显示,List则不然
数据库系统原理及应用 7
四、显示表记录
在信息窗口显示表记录: 格式:List / Display [<范围>] [ For <条件>] [While <条件>] [Fields <字段列表>] 说明:
数据库系统原理及应用
9
五、记录指针移动(定位)
直接定位命令:绝对移动 格式1:Go/Goto <n> 功能:将记录打针移到第<n>条记录 格式2:Go/Goto Top/Bottom 功能:将记录打针移到当前表的第一条/最后一条记录 说明:
• 当前记录的记录号可用Recno( )函数给出 格式:Recno( ) 功能:返回当前记录的记录号 • 数据表全部记录检测可用Reccount( )函数给出 格式:Reccount( ) 功能:返回当前数据表的记录个数
• for / while: –含义:对满足条件的记录进行操作 –区别:对于for条件,系统会对所有满足条件的记录 进行操作;对while条件,系统从当前记录开始向下 顺序判断,只要出现不满足的while条件的记录,系 统将终止处理 • Fields <字段列表>:显示指定的字段
数据库系统原理及应用
数据库系统原理及应用 18
九、查找记录命令
条件查询: 格式:Locate [<范围>][For <条件>] 功能:在当前表文件的指定范围内按顺序查找符合指定条件的第一 条记录,并将记录指针指向该记录 说明: • 缺省范围短语时默认为ALL • 找到时,记录指针指向第一条满足条件的记录,且Found( )函 数为真值 格式:Found( ) 功能:测试当前查询是否成功 • 若找不到,Found( )函数为假值,如果指定了查找范围,记录 指针指向范围的最后一条记录,否则,记录指针指向文件尾 继续查询:Continue 功能:按最近一次Locate命令的条件在后续记录中继续查找
数据库系统原理及应用
13
七、删除记录命令
记录删除的步骤: 逻辑删除:将需要删除的记录打上删除标志“*”,打 上删除标志的记录是可以恢复的 物理删除:将带有删除标志“*”的记录作永久删除, 且不可恢复:
数据库系统原理及应用
14
七、删除记录命令
逻辑删除记录命令: 格式:Delete [<范围>] [For <条件>] 功能:对指定范围内满足条件的记录打上逻辑删除标志 说明:
数据库系统原理及应用 19
十、数据表统计命令
求和命令: 格式:Sum [<表达式表>][<范围>][For <条件>] [To <内存变量表>] 功能:对指定范围内满足条件的所有记录,计算出各记 录所指定的表达式的值,再分别对这些值求和 说明:
• <表达式表>中的各表达式可以是字段变量、内存变量、常 数、函数以及它们的各种组合,但整个表达式必须是数值 型的 • 缺省<表达式表>时,表示对数据表中所有的数值型字段求 和 • 有[To <内存变量表>]短语,则自动将求和的结果依次存 入指定的各内存变量中
物理删除记录命令:
格式:Pack 功能:对当前数据表进行压缩,删除带逻辑删除标志的记录
数据库系统原理及应用
16
七、删除记录命令
删除全部记录: 格式:ZAP 功能:删除当前数据表中所有的记录,只剩下表结构 说明: • 本命令等份于Delete All和Pack两条命令连用 • 执行本命令后,原表数据无法恢复(彻底删除)
数据库系统原理及应用
23
十一、索引及其操作
索引的含义: 索引:就是依据表中某些字段(或含有字段的表达式)建立 记录的逻辑顺序。 为表创建的索引存储在索引文件中,索引文件由指向表中记 录的指针所构成,这些指针逻辑上按照索引关键字的值进行 排序 索引文件和表文件分别存储,表文件记录的物理顺序不会因 索引而改变,索引文件的扩展名为.cdx 索引原理:
数据库系统原理及应用
4
三、表结构操作
显示表结构命令: 格式1:List Structure 格式2:Display Structure 功能:在信息窗口显示当前打开的数据表结构 说明:格式1用于连续显示表结构,格式2用于分屏(页)显示
字段宽度总计为各字段之和加1,外 加的这1字节用来放置删除标志