Download presentation
Presentation is loading. Please wait.
1
第 10 章 数据表的基本操作 计算机文化基础
2
第一节 表结构显示与修改 1 、显示表的结构 格式: LIST/DISPLAY STRUCTURE [TO PRINT] 功能:显示(打印)当前已打开的数据库文件结构 说明:首先必须打开库文件。 LIST 是连续显示全部内容; DISPLAY 是分屏显示
3
2 、修改表的结构 如果表的字段名、字段宽度、字段类型在定义时出现 错误,那么,就要修改表的结构。例如, 奖金字段,应该是 数值型,结果被定义成字符型了。 在修改表结构之前,一定要先打开表文件,然后用 modify structure 命令修改。 命令格式: modify structure 功能: 进入表设计器状态,对当前表文件结构进行修改。 看图说明
4
修改表的结构 1 、先打开表文件。 2 、输入修改结构 的命令并回车, 进入到下面的表 设计器界面。
5
第二节 记录的定位 1 、 当前记录 —— 用户当前正在处理的记录叫做当前记录。 2 、 记录指针 —— 每个表文件中,都有一个记录指针(注意与备 注型字段的指针不同),记录指针指向的记录就是当前记录。当用 户要对某一条记录进行处理的时候,要先将记录指针指向这条记录, 使这条记录变为当前记录,然后才能处理。 3 、 记录指针的定位 —— 为了处理不同的记录,需要不断改变记 录指针的位置。这个移动记录指针的位置,使不同记录成为当前记 录的过程叫做记录指针的定位。 记录指针的定位分为: 绝对定位、相对定位、条件定位 。 绝对定位相对定位条件定位 注意:字段变量的值随记录指针的移动而变化 4 、利用 ?recno( ) 来检测被定位的当前记录号
6
记录的定位 —— 绝对定位 (1) 格式 1 : GOTO / GO 〈数值型表达式〉 功能 : 将当前记录定位到数值表达式指定的记录上 说明 : goto/go 可省略, 的运算结果自动取整。 例如: GO 3 (将指针指向表文件的第 3 条记录) 格式 2 : GO TOP (将指针指向表文件的第 1 条记录) GO BOTTOM (将指针指向表文件的最后 1 条记录) 看图说明
7
记录的定位 —— 绝对定位 (2) 请参照例题练习, 注意屏幕上所显 示记录的内容及 记录号。
8
记录的定位 —— 相对定位 (1) 相对于当前记录的记录指针的移动 格式: SKIP 〈数值表达式〉 eg. skip 2 功能 : 将记录指针相对于当前记录,向前或向后移动若干条记录 的取值(假设为 n )决定指针的移动方向, 值 >0 则指针向前 ( 文件尾方向 ) 移动 n 个; 值 <0 则指针向后 ( 文件头方向 ) 移动 n 个 说明: 1 、不带 则系统默认值为 1 eg. Skip 2 、第一条记录 ≠ 文件头;最后一条记录 ≠ 文件尾 文件头:指第一条记录的上面。 文件尾:指最后一条记录的下面。 3 、学习相对定位时,会遇到几个重要的函数,请留意。 例题: 例 1:recno() 例 2:bof() 例 3:eof() 例 1 例 2 例 3
9
记录的定位 — 相对定位 (2) :例 1 说明: 1 、 Recno() 函数的功能是: 返回当前记录的记录号。 ? — 表示显示其后面表达式 的结果。 表文件刚打开时,指针指向 第一条记录。 2 、 Skip 即 skip 1
10
记录的定位 — 相对定位 (3) :例 2 1 、 bof() 函数的功能 是: 测试记录指针是 否指向文件头,若是, 则返回值为.t. ,否则 返回值为.f. 。 2 、指针到达或超过文 件头时, recno()=1 且 bof()=.t.
11
记录的定位 — 相对定位 (4) :例 3 1 、 Eof() 函数的功能 是: 测试记录指针是 否指向文件尾,若是, 则返回值为.t. ,否则 返回值为.f. 。 2 、指针到达或超过文 件尾时, recno( )= 总记录数 +1 且 eof( )=.t.
12
格式: locate [ 记录范围 ] for/while 〈 条件 〉 功能:在给定 [ 记录范围 ] 内,按记录顺序,查找符合 的 第一条记录,若找到则将记录指针指向该记录,若找不到, 则将记录指针指向给定范围内的最后一条记录或文件尾。 说明 : 1 、如省略范围,则默认值为 all 。 2 、可以通过 found() 函数,判断是否找到符合条件的记录。 如查到符合条件的记录,则 found( )=.t. 如在 内查不到符合条件的记录, found( )=.f. 如在 all 范围内查不到符合条件的记录, 则 found()=.f. eof()=.t 3 、可通过 continue 命令继续查找其他符合条件的记录。 例题: 例 1 例 2 例 3 例 1 例 2 例 3 记录的定位 —— 条件定位 (1) 按条件顺次查找
13
记录的定位 — 条件定位 (2) 例 1 :查找姓名为 “ 赵斌 ” 的人, 并显示他的记录内容。 想想为什么不用 list 命令。 姓名是字符型字 段的名字,不需 要定界符,而 “ 赵斌 ” 是字符型 字段的值,需要 加定界符。
14
记录的定位 — 条件定位 (3) 例 2 :查找编号为 “ 0202 ” 的人, 并显示结果。 1 、明白两个 found() 函数的显示结果。 2 、想想,为什么这 个 display 命令执行完 后,屏幕上没有显示。
15
记录的定位 — 条件定位 (4) 例 3 :查找奖金是 40 元以上的人, 并显示结果。 1 、 40 是数值型的 值,不需要加字 符型定界符。 3 、想想,为什么这 个 display 命令执行完 后,屏幕上没有显示。 2 、用 continue 命令继续查找
16
第三节 修改记录 记录的编辑修改可以分为全屏幕编辑和单命令修 改两种。 1 、全屏幕编辑命令: Edit Change Browse EditChange Browse 功能 : 编辑记录范围内符合条件的记录中指定的字段值 2 、替换命令: Replace Replace
17
修改记录 — edit 1. 保存修改内容:单 击 ‘ 关闭 ’ 或按 Ctrl+W ; 2. 放弃修改:按 Esc ; 3. 追加一个空记录: 按 Ctrl+Y
18
修改记录 —— change 1. 保存修改内容:单 击 ‘ 关闭 ’ 或按 Ctrl+W ; 2. 放弃修改:按 Esc ; 3. 追加一个空记录: 按 Ctrl+Y
19
修改记录 —— browse 1. 保存修改内容:单 击 ‘ 关闭 ’ 或按 Ctrl+W ; 2. 放弃修改:按 Esc ; 3. 追加一个空记录: 按 Ctrl+Y 说明 :browse 命令主要用于记录的修改,因此启动后不进入追 加状态。必须由用户通过 Ctrl+Y 使它进入记录追加状态。如果 表文件是个空文件(记录个数为 0 )则 browse 就无法启动。
20
修改记录 — replace 格式 : replace [ 范围 ] with [additive] [, 字段名 2 with 表达式 2 [additive]]… [for ] 功能: 对当前表文件中给定 [ 范围 ] 内符合 的记录进行 修改,用 的值替换 原来的值,用 的值替换 原来的值 … 。 说明: 1 、若省略范围和 for ,表示仅对当前记录进行替换。 2 、若有 for ,则修改所有符合条件的记录。 3 、 值的类型应与 值的类型相同,宽度应不 超过原字段的宽度。 例题例题:
21
例 1 :以下几条命令实现的功能是什么? use rsda go 3 disp repl 基本工资 with 400 disp 解答: 功能是将第三条记录的基本工资修改为 400
22
例 2 :将第 5 条记录的奖金提高 10% 例 3 :将工程师的奖金提高 10% 。 Go 5 Disp Repl 奖金 with 奖金 *1.1 Disp Repl 奖金 with 奖金 *1.1 for 职称 =‘ 工程师 ’ List
23
第四节 添加记录 常用的添加记录的方式有两种 1 、追加记录: append append 2 、插入记录: insert insert
24
添加记录 —— 追加记录 append 格式: append [blank] 功能:在表文件的末尾追加记录。 说明: 1 、不加可选项 [blank] 表示在表文件末尾添加一条新记 录,进入编辑状态。 2 、加上可选项 [blank] 表示在表文件末尾添加一条空记 录,不进入编辑状态。 3 、 append blank 命令可以和 replace 命令联合使用增加 一条新记录。
25
添加记录 —— 插入记录 insert 格式: insert [before][blank] 功能:在当前记录的前面或后面插入一条新记录。 说明 : 1 、省略 before 和 blank (即无可选项)时,把新记录插 入在当前记录之后,进入编辑状态。 2 、 有 [before], 在当前记录之前插入一条新纪录,进入 编辑状态。 3 、有 [blank] ,当前记录之后插入一条空纪录,不进入 编辑状态。
26
第五节 删除记录 记录的删除有两种方法,直接删除和间接删除间接删除 一、直接删除: ZAP 格式: ZAP 功能:将表文件里的记录全部删除。(真正删除) 说明 : 1 、使用 zap 命令时要小心,因为它将删除掉表文件中的所 有记录,只留下表的结构。 2 、如果只想删除指定的记录,则不能用 zap 命令,而应该 采用间接删除法。
27
二、间接删除 间接删除表文件中的记录需要进行两步操作。 第一步是给记录加上删除标记 (*) ,叫做逻辑删除; 第二步是用 pack 命令彻底删除带有删除标记 (*) 的 记录,又叫做物理删除。在执行 pack 命令之前,还 可以用恢复命令 recall 抹掉删除标记,将此记录恢 复正常。 逻辑删除 物理删除 记录恢复 逻辑删除 物理删除 记录恢复
28
1 、逻辑删除 格式: DELETE [ 范围 ] [ FOR 〈 条件〉 ] 功能:给指定范围内符合条件的记录加上删除标记。 说明: 若不指定范围或条件,只给当前记录加上删除标记。 逻辑删除标记为 “*” 看图说明 : 例 1 例 2 例 1 例 2
29
删除记录 —— 逻辑删除 例 1: 给第四条记录加上删除标记。 第四条记录 前加上了删 除标记 *
30
删除记录 —— 逻辑删除 例 2: 给所有男职工记录加删除标记。 所有男职 工记录都 已经加上 了删除标 记 *
31
2. 恢复逻辑删除命令 recall 格式: recall [ ] [for/while ] 功能:恢复范围内符合条件的被逻辑删除的记录 说明:在全屏编辑命令 (append,insert,edit,browse,change) 中可用 Ctrl+T 来进行逻辑删除和恢复 例题例题:
32
记录恢复示例: 去掉所有男职工记录的删除标记。 所有男职工 记录的删除 标记已经去 掉。
33
3. 物理删除命令 pack 格式: pack 功能:真正删除所有被逻辑删除(加删除标记) 的记录 说明:永久删除带有逻辑删除标记的记录,其他 记录重新排号 例题例题:
34
物理删除示例: 删除所有男职工记录。 观察两次 list 命令的 显示结果。 加删除标记 物理删除
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.