本 章 内 容

54
§4.1 数数数数数数数数 §4.2 数数数数数数 §4.3 数数数数 §4.4 数数数数数 §4.5 数数数数 数数数 数数数数数数数数数数

Upload: indivar-sam

Post on 30-Dec-2015

52 views

Category:

Documents


0 download

DESCRIPTION

第四章 数据库与表的基本操作. 本 章 内 容. §4.1  数据库的基本操作 §4.2  表的基本操作 §4.3  表的索引 §4.4  数据完整性 §4.5 多表操作. §4.1  数据库的基本操作. VFP 数据库是存储表、视图、表间联系等对象的“容器”。“表”是数据库中最基本的数据对象。 建立 VFP 数据库一般生成 3 个文件: 数据库文件( .dbc ) ,数据库备注文件( .dct )和数据库索引文件( .dcx )。 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 本  章  内  容

本 章 内 容§4.1 数据库的基本操作

§4.2 表的基本操作

§4.3  表的索引§4.4  数据完整性§4.5 多表操作

第四章 数据库与表的基本操作

Page 2: 本  章  内  容

§4.1  数据库的基本操作 VFP 数据库是存储表、视图、表间联系等对象的“容器”。“表”是数据库中最基本的数据对象。 建立 VFP 数据库一般生成 3 个文件:数据库文件( .dbc ),数据库备注文件( .dct )和数据库索引文件( .dcx )。 建立数据库的一般步骤:建立一个数据库,并打开“数据库设计器”。刚建的数据库是一个空的数据库,接着向数据库添加表和其他对象,并建立表间联系。 不属于数据库的表称为自由表,添加到数据库中的表称为数据库表,二者不同之处在于数据库表增加了数据完整性约束。

Page 3: 本  章  内  容

建立数据库常用的方法有以下 3 种:

1 .在“项目管理器”中建立数据库 ( 1 )打开某个项目,例如打开“职工管理”项目。 ( 2 )在“项目管理器”中,选择“数据库”选项,然后单击“新建”按钮,打开“新建数据库”对话框,单击其中的“新建数据库”按钮,打开“创建”对话框,如图 4 - 1 所示。

图 4- 1 “创建”对话框

§4.1.1  创建数据库

Page 4: 本  章  内  容

( 4 )单击“保存”按钮,即在当前项目中建立了一个“职工业绩 .dbc” 的数据库文件。 此时屏幕上会显示一个空的“数据库设计器”窗口,同时还激活了“数据库设计器”工具栏,如图 4 - 2 所示。“数据库设计器”是创建、修改和管理数据库的工具。

图 4- 2 “数据库设计器”窗口

Page 5: 本  章  内  容

2 .使用“新建”对话框建立数据库( 1 )单击工具栏中的“新建”按钮,打开“新建”对话框,如图 4 - 3所示。( 2 )在“文件类型”选项组中,选择“数据库”选项,单击“新建文件”按钮,打开“创建”对话框。接下去的操作步骤与方法 1 相同。

图 4- 3 “新建”对话框

Page 6: 本  章  内  容

3 .使用命令建立数据库 在命令窗口中键入: CREATE DATABASE [ 数据库名 ]

说明:使用命令建立数据库,不打开“数据库设计器”,但刚建的数据库是打开的。

注意: 在使用“新建”对话框或者 CREATE DATABASE 命令建立数据库时,若要将所建立的数据库包含于某个项目中,则需要将数据库“添加”到该项目中。

Page 7: 本  章  内  容

1 .打开数据库 要使用数据库或修改数据库,例如,在数据库中添加表,都要先打开数据库。 打开数据库的常用方法有以下 3 种: ( 1 )在“项目管理器”中打开数据库 1 )在“项目管理器”中打开“职工管理 .pjx” 项目,选择“职工业绩 .dbc” 数据库。 2 )单击“修改”按钮,打开“数据库设计器”窗口,同时激活“数据库设计器”工具栏,如图 4 - 2 所示。 ( 2 )使用“打开”对话框打开数据库 1 )单击工具栏中的“打开”按钮,或选择“文件”菜单中的“打开”命令,弹出“打开”对话框,如图 4 - 4 所示。

§4.1.2  修改数据库

Page 8: 本  章  内  容

图 4 - 4  “打开”对话框

2 )在“文件类型”选项组中,选择“数据库”;在“文件名”文本框中,输入或选择要打开的数据库名称;勾选“独占”复选框,以此方式打开的数据库可修改。 3 )单击“确定”按钮,即打开“数据库设计器”窗口和工具栏。

Page 9: 本  章  内  容

( 3 )使用命令打开数据库 1 )打开数据库 命令格式: OPEN DATABASE [ 数据库名 |?]

[EXCLUSIVE|SHARED] [NOUPDATE]

说明:使用该命令打开数据库,不显示“数据库设计器”窗口和“数据库设计器”工具栏。 2 )修改数据库 命令格式: MODIFY DATABASE [ 数据库名 |?]

[NOWAIT] [NOEDIT]

说明: ①该命令打开数据库,同时显示“数据库设计器”窗口。 ②NOWAIT :该选项在交互方式的命令窗口中无效,只在程序中使用。其作用是“数据库设计器”打开后,程序不停顿而继续执行。

Page 10: 本  章  内  容

2 .设置当前数据库 同一时刻 VFP 可以打开多个数据库,但只有一个数据库是当前数据库。 ( 1 )使用工具栏中的数据库下拉列表设置当前数据库 在工具栏的数据库下拉列表中,单击某数据库的名称,该数据库即成为当前数据库,如图 4 - 5 所示。

图 4- 5 数据库下拉列表

( 2 )使用命令设置当前数据库 在命令窗口中键入: SET DATABASE TO [ 数据库名 ]

Page 11: 本  章  内  容

3 .向数据库添加表( 1 )在“数据库设计器”窗口中打开要操作的数据库。( 2 )鼠标右击“数据库设计器”窗口,弹出“数据库”快捷菜单。选择其中的“添加表”命令,弹出“打开”对话框;或者,单击“数据库设计器”工具栏中“添加表”按钮,弹出“打开”对话框,如图 4 - 7 所示。

图 4- 7 “打开”对话框

Page 12: 本  章  内  容

( 3 )在“打开”对话框中,选择要添加的表文件,如选定“ Zgjk.dbf” 表,然后单击“确定”按钮,所选定的表即添加到“数据库设计器”窗口中。 ( 4 )重复以上的操作,将前面所建的与职工业绩相关的表(职工简况表 Zgjk.dbf 、工资表 Gz.dbf 、销售表 Xs.dbf 、商品表Sp.dbf )都添加到“数据库设计器”窗口中,如图 4 - 8 所示。

图 4- 8 添加表文件后的“数据库设计器”

Page 13: 本  章  内  容

4 .创建数据库表 鼠标单击“数据库设计器”工具栏中“新建表”按钮,弹出“新建表”对话框。接下去的操作是创建数据库表,其方法与创建自由表相似,如何创建表将在下一节的内容中介绍。 值得强调的是:在“数据库设计器”中创建的表是数据库表,而不是自由表,且自动地被包含在该数据库中。

Page 14: 本  章  内  容

5 .移去或删除数据库表 VFP 中有两种表:数据库表(属于数据库)和自由表(不属于数据库)。数据库表可以从数据库中移出去而成为自由表;反之,自由表也可以移入数据库而成为数据库表。 移去或删除数据库表的操作步骤如下: ( 1 )在“数据库设计器”窗口中,选定要移去的表。 ( 2 )单击“数据库设计器”工具栏中“移去表”按钮,弹出提示对话框。 ( 3 )若选择“移去”,则表与数据库脱离包含关系,而成为自由表,但没有被物理删除;若选择“删除”,则从磁盘上物理删除该表。

Page 15: 本  章  内  容

§4.2  表的基本操作

1 .表的设计( 1 )设计表就是在使用 VFP 创建表之前的规划工作。( 2 )表的设计包括以下内容: 1 )设计表的结构。 2 )设计表的数据记录。( 3 )设计表的方法一般用表格表示。 2 .表结构的设计 设计表的结构就是设计表的字段,即确定表的每一个字段的属性,字段属性包括字段名、类型、宽度和小数位 4 个参数。

§4.2.1  表的设计

Page 16: 本  章  内  容

职工简况表( Zgjk.dbf )的结构设计如下表所示。

字段名 类 型 宽 度 小数位职工号 字符型 4

姓名 字符型 8

性别 字符型 2

婚否 逻辑型 1

出生日期 日期型 8

部门 字符型 6

基本工资 数值型 7 2

简历 备注型 4

照片 通用型 4

Page 17: 本  章  内  容

3 .表记录的设计 职工简况表( Zgjk.dbf )数据记录的设计如下表所示。

职工号 姓名 性别 婚否 出生日期 部门 基本工资 简历 照片0101 李成华 男

T03/21/1952

家电1500.00

0201 李小敏 女F

11/05/1980

服装980.00

0301 刘晓君 女F

12/18/1977

服装800.00

0102 张为民 男T

02/17/1957

家电1200.00

0202 欧阳慧 女T

06/09/1966

家电1100.00

0302 刘云 女T

04/25/1972

文具1000.00

0303 王敏行 男T

08/13/1973

服装950.00

0304 程家阳 男F

05/07/1981

文具750.00

Page 18: 本  章  内  容

 创建表分为两个步骤:第一步是创建表结构,即定义表的字段;第二步是向表中输入数据记录。 VFP 提供两种创建表的方法,一种是使用“表向导”,另一种是使用“表设计器”。用“表设计器”创建表的操作步骤如下: 1 .打开“表设计器” 打开“表设计器”有如下的方法: ( 1 )打开“项目管理器”窗口,选择“表”选项,单击“新建”按钮,打开“新建表”对话框,单击“新建表”按钮,打开“创建”对话框,输入表名,然后单击“保存”按钮,打开“表设计器”。 ( 2 )单击“新建”按钮,打开“新建表”对话框,选择“表”选项,单击“新建文件”按钮,打开“创建”对话框,输入表名,然后单击“保存”按钮,打开“表设计器”。 ( 3 )在“命令”窗口中,键入 CREATE 并回车。

§4.2.2  创建表结构

Page 19: 本  章  内  容

2 .定义表结构 ( 1 )在项目中打开表“表设计器” 1 )打开项目文件“职工管理 .pjx” ,在“项目管理器”中,选择“自由表” 。 2 )单击“新建”按钮,弹出“新建表”对话框,单击其中的“新建表”按钮,打开“创建”对话框。 3 )在“保存在”文本框中,选择保存表的文件夹;在“输入表名”文本框中,输入表的名称: Zgjk 。 4 )单击“保存”按钮,即在“职工管理”项目中创建了一个“ Zgjk.dbf” 表,并打开表“表设计器” 。 ( 2 )输入表结构 按照所定义的 Zgjk.dbf 表的结构,在表设计器中依次输入各字段的字段名、类型、宽度和小数位的属性值 ,如图 4 - 13 所示。

Page 20: 本  章  内  容

图 4- 13 “表设计器”的“字段”选项卡

说明:建立数据库表和自由表的“表设计器”界面是不同的。建立数据库表时,“表设计器”有“显示”、“字段有效性”和“匹配字段类型到类”选项组,而建立自由表则没有这些选项组。

Page 21: 本  章  内  容

( 3 )保存表结构 所有的字段属性设定完后,单击“确定”按钮,即弹出提示框,询问“现在输入数据记录吗?”。若打算以后再输入记录,则单击“否”按钮,关闭表设计器;若要立即输入数据记录,则单击“是”按钮,打开输入表记录的窗口。 不论回答“是”还是回答“否”,表结构都建立完毕,表文件已经存在。

Page 22: 本  章  内  容

1 .在创建表时输入记录 ( 1 )“编辑”和“浏览”方式输入记录 当表结构定义完毕, VFP

询问“现在输入数据记录吗?”。如果回答“是”,则直接进入表的“记录编辑”窗口。“记录编辑”窗口有“编辑”和“浏览”两种显示方式, VFP默认“编辑”方式,如图 4 - 14 所示。在此窗口中,用户可以逐条记录地输入数据。

图 4- 14 “记录编辑”窗口“编辑”显示方式

§4.2.3  输入表数据记录

Page 23: 本  章  内  容

若选择“显示”菜单中的“浏览”命令,则“记录编辑”窗口切换为“浏览”显示方式,如图 4 - 15 所示。“浏览”显示方式更符合大多数用户的使用习惯。

图 4- 15 “记录编辑”窗口“浏览”显示方式

Page 24: 本  章  内  容

( 2 )输入备注( M )型字段的数据 1 )把光标移到备注型字段 memo 上。 2 )双击鼠标或者按 Ctrl+PgDn 键,打开备注型字段编辑窗口,输入备注的内容,如图 4 - 17 所示。 3 )备注内容输入完毕,单击“关闭”按钮,返回“记录编辑”窗口,此时备注型字段标志的第一个字母变为大写Memo 。

图 4- 17 备注型字段编辑窗口

Page 25: 本  章  内  容

( 3 )输入通用( G )型字段的数据 1 )把光标移到通用型字段的 gen 上。 2 )双击鼠标或者按 Ctrl+PgDn 键,打开通用型字段编辑窗口。 3 )选择“编辑”菜单中的“插入对象”命令,打开“插入对象”对话框,并选中“由文件创建”单选按钮,如图 4 - 18 所示。

图 4- 18 “插入对象”对话框

Page 26: 本  章  内  容

4 )在“由文件创建”文本框中,直接输入图像文件的路径及文件名,或者单击“浏览”按钮,打开“浏览”对话框选择所需要的图片,然后单击“确定”按钮,返回“插入对象”对话框。 5 )在“插入对象”对话框中,单击“确定”按钮,返回通用型字段编辑窗口,所选的图片显示于通用型字段的编辑窗口。 6 )单击“关闭”按钮,返回“记录编辑”窗口,此时通用型字段的标志变为首字母为大写的 Gen 。 ( 4 )保存表记录 所有的记录输入后,单击“记录编辑”窗口的“关闭”按钮。

说明:表文件的扩展名为 .dbf ,若表结构中包含备注( M )型或通用( G )型的字段,则自动产生同名的表的备注文件( .fpt ),将备注型和通用型字段的内容存放在备注文件( .fpt )中。表文件( .dbf )中备注型和通用型字段的宽度为 4B ,是用于存放链接指针,指针指向同名的备注文件( .fpt )。

Page 27: 本  章  内  容

2 .追加记录 若要对只有结构的空表或者记录不完整的表追加记录,可按以下步骤操作。( 1 )打开表文件 1 )使用“打开”对话框打开表文件 单击工具栏中的“打开”按钮,弹出“打开”对话框。在“文件类型”列表框中选择“表( *.dbf )”;在当前文件夹的表文件名列表框中,选定要打开的表文件;勾选“独占”复选框;单击“确定”按钮,即打开表文件。 2 )使用命令打开表文件 打开表文件命令格式为: USE < 表文件名 >

 说明:若在命令动词 USE 后面不指定表文件名,则关闭当前工作区的表文件。

Page 28: 本  章  内  容

( 2 )打开“浏览”窗口 表文件在内存中打开后,若要查看表的记录内容,则要打开“浏览”窗口。打开“浏览”窗口的方法是:执行“显示”菜单中的“浏览”命令;或者在命令窗口中键入: BROWSE 。( 3 )追加记录 1 )若选择“表”菜单中的“追加新记录”命令,则每次操作只能追加一条记录。 2 )若选择“显示”菜单中的“追加方式”命令,则可以连续追加多条记录。(相当于执行 APPEND 命令)( 4 )保存记录 记录输入后,单击“浏览”窗口的“关闭”按钮。 职工管理需要多个表,工资表( Gz.dbf )、销售表( Xs.dbf )和商品表( Sp.dbf )的结构和数据记录内容,如图 4-21 、图 4 - 22 、图 4 - 23 、图 4 - 24 、图 4 - 25 和图 4 - 26 所示。可用以上介绍的方法建立这些表。

Page 29: 本  章  内  容

 表结构的创建和修改都是在“表设计器”中进行,表结构的修改的操作步骤如下。 ( 1 )以独占的方式打开要修改的表文件。 ( 2 )选择“显示”菜单中的“表设计器”命令,打开“表设计器”对话框。 ( 3 )在“表设计器”中修改结构,表结构的修改与创建的数据编辑方法相同。修改完毕,单击“确定”按钮,则弹出提示框。 ( 4 )单击“是”按钮。

§4.2.4  修改表结构

Page 30: 本  章  内  容

 在“浏览”窗口中,既可以查看表的记录,又可以修改表记录的数据。所以修改表记录的便捷方法是在“浏览”窗口中进行,具体操作步骤如下: ( 1 )以独占的方式打开要修改的表文件。 ( 2 )选择“显示”菜单中的“编辑”或“浏览”命 令,打开记录“浏览”窗口。 ( 3 )在“浏览”窗口中修改记录数据。 ( 4 )修改完毕,单击“关闭”按钮。

§4.2.5  修改表记录

Page 31: 本  章  内  容

1 .记录指针  VFP 在表中设置一个记录指针,记录指针指向的记录称为当前记录。对表的操作通常是对当前记录操作。 2 .表记录的定位 表记录的定位就是移动记录指针,以确定当前记录。 ( 1 )使用菜单中的命令定位记录 操作步骤如下: 1 )打开表文件。 2 )选择“显示”菜单中的 “浏览”命令 , 打开记录“浏览”窗口。 3 )选择“表”菜单中的“转到记录”命令,弹出“转到记录”命令的子菜单。 4 )在“转到记录”的子菜单中选择“记录号”命令,打开“转到记录”对话框。输入记录号,然后单击“确定”按钮,记录指针即指向指定的记录。

§4.2.6  表记录的定位

Page 32: 本  章  内  容

( 2 )在“浏览”窗口中定位记录 1 )打开表文件。 2 )选择“显示”菜单中的“浏览”命令,打开记录“浏览”窗口。 3 )在“浏览”窗口中,左端第一列的小方块为记录“定位标记”。鼠标单击“定位标记”,记录指针即指向指定的记录,如图 4 - 31 所示。

图 4- 31 在“浏览”窗口中直接定位记录

Page 33: 本  章  内  容

 在 VFP 中,删除表记录分为两步:先逻辑删除,然后物理删除。逻辑删除只是在记录旁作删除标记,必要时还可以撤消删除标记恢复记录;物理删除是从表文件中删除表中记录。

图 4- 32 逻辑删除记录

§4.2.7  删除表记录

1 .逻辑删除记录( 1 )在浏览窗口中,单击要删除的记录左端第二列小方块。( 2 )选定要删除的记录,然后选择“表”菜单中的“切换删除标记”命令。( 3 )选定要删除的记录,然后按快捷键 Ctrl+T 。 被逻辑删除的记录的左侧出现“删除标记”,如图 4 - 32 所示。

Page 34: 本  章  内  容

2 .恢复被逻辑删除记录 恢复被逻辑删除记录有如下几种方法: ( 1 )在浏览窗口中,单击“删除标记”(“删除标记”是反复开关)。 ( 2 )选定要恢复的记录,然后选择“表”菜单中的“切换删除标记”命令。 ( 3 )选定要恢复的记录,然后按快捷键 Ctrl+T 。 3 .物理删除记录 如果要将有逻辑删除标记的记录物理删除,可执行“表”菜单中的“彻底删除”命令;或键入命令: PACK

Page 35: 本  章  内  容

1 . VFP 命令的结构 VFP 命令由命令动词、语句体和注释三个部分组成。例如,显示表记录的命令为: LIST [范围 ] [ 表达式表 ] [FIELDS < 字段名表 >] [FOR|WHILE <条件 >] [OFF] [TO PRINT|< 文件 >] &&显示表记录

( 1 )命令动词 命令动词 LIST 表示执行什么操作,即表示“做什么?” ( 2 )语句体 语句体(命令动词之后的内容)由若干个短语(又称为子句)组成,表示操作的对象以及对操作的限制,即表示“怎么做”。 ( 3 )注释 注释( &&符号之后的内容)是命令的非执行部分,它不是指挥计算机完成某个操作,而是写给用户看的提示文字。

§4.2.8  表的操作命令

Page 36: 本  章  内  容

2 .短语的具体含义 ( 1 )范围子句( [范围 ] ) 范围子句用于限制参加操作的记录(行),具体内容及其意义如下: 1 ) ALL 对全部记录操作 2 ) NEXT <n> 对当前及以下共 n 个记录操作 3 ) RECORD <n> 对第 n号记录操作 4 ) REST 对当前到最后一条记录操作

 注意:当命令中缺省范围短语时,不同的命令有不同的默认值。修改类的命令,通常默认当前一条记录;统计类的命令,通常默认 ALL 。

Page 37: 本  章  内  容

( 2 )字段子句( [ FIELDS < 字段名表 > ] ) 字段子句用于指定参加操作的字段,即限制参加操作的列。字段名之间用逗号分隔,构成字段名表。( 3 )条件子句( [FOR | WHILE <条件 >] ) 1 ) FOR <条件 > 对所有满足条件的记录操作。 ( 遇假绕过 )

2 ) WHILE <条件 > 遇到不满足条件的记录即停止操作。 ( 遇假即停 )

( 4 )输出子句( TO < 设备名 >|< 文件名 >|< 内存变量名 > ) 输出子句用于指定命令执行结果的输出去向。默认输出到 VFP

主窗口。( 5 ) OFF子句 选用 OFF子句时,不显示记录号。

Page 38: 本  章  内  容

3 .命令中符号的约定 ( 1 ) < > 表示其中内容为必选项。 ( 2 ) [ ] 表示其中内容为任选项。 ( 3 ) | 表示或者 ( 4 )… 表示有限次重复 4 .命令书写的规则 ( 1 )每条命令以命令动词开始,短语的顺序可任意,可用分号

作为续行号,命令行以回车键结束。 ( 2 )命令动词与短语以及短语与短语之间至少用一个空格隔开。 ( 3 )命令中的字符皆为半角,字母大小写等效。 ( 4 )大多数命令动词与命令关键字只需键入前 4 个字符。

Page 39: 本  章  内  容

5 .创建表文件的命令格式: CREATE [ 表文件名 ]

功能:创建表文件。6 .打开表文件的命令格式: USE < 表文件名 > [ IN 区号 |别名 ] [ ALIAS 别名 ]

功能:在指定的区打开表文件,并为表文件指定一个别名。【例 4 - 2 】 USE Zgjk IN 2 ALIAS Zg

说明:( 1 )若不指明区号,默认在当前工作区打开表文件。( 2 )表文件刚打开时,指针指向第 1 记录。

Page 40: 本  章  内  容

7 .关闭表文件的命令格式: USE

功能:关闭当前工作区中的表文件。8 .追加记录的命令格式: APPEND [ BLANK ]

功能:在表尾添加记录。说明:( 1 )事先打开表文件是对表记录进行增加、删除和修改等编辑操作的前提。( 2 )执行 APPEND 命令:出现记录编辑窗口,等待用户由键

盘输入追加的记录数据。( 3 )执行 APPEND BLANK 命令:直接在表尾追加一条空记

录。

Page 41: 本  章  内  容

9 .插入记录的命令格式: INSERT [BLANK] [BEFORE]

功能:在指定位置插入记录。说明:( 1 )若缺省 BLANK ,则出现记录编辑窗口,等待用户由键盘

输入要插入的记录数据;若选用 BLANK ,则直接插入一条空记录。( 2 )若缺省 BEFORE ,则新记录插在当前记录之后;若选用

BEFORE ,则新记录插在当前记录之前。

Page 42: 本  章  内  容

10 .显示记录的命令格式: LIST | DISPLAY [范围 ] [ 表达式表 ] [FIELDS < 字

段名表 >] [FOR | WHILE <条件 >] [OFF] [TO PRINT | < 文件 >]

功能:显示指定范围满足条件的记录。说明:( 1 )当缺省范围时, LIST 命令默认 ALL , DISPLAY 命令默认当前记录。( 2 )在显示的方式方面, LIST 命令是滚动显示, DISPLAY

命令是分屏显示。

Page 43: 本  章  内  容

12 .浏览修改格式: BROWSE [ FIELDS < 字段名表 >] [LAST]

功能:在浏览窗口显示当前表的记录,供浏览 与修改。说明:( 1 )若缺省字段子句,则默认全部字段。( 2 )若选用 LAST子句,则保留前一次浏览窗口的格式。例

如,修改了字段的排列顺序之后,使用 BROWSE LAST浏览,则无法显示修改的结果。

Page 44: 本  章  内  容

13 .替换修改记录的命令格式: REPLACE < 字段名 1> WITH < 表达式 1>

[ADDITIVE] [ , < 字段名 2> WITH < 表达式2>…] [范围 ] [FOR | WHILE <条件 >]

功能:对于当前表中的记录,用表达式的值替换指定的字段的值。说明:若缺省范围和条件子句,则默认当前记录。【例 4 - 5】将 Zgjk 表中所有职工的基本工资增加 50元。

USE Zgjk

REPL ALL 基本工资 WITH 基本工资 +50

Page 45: 本  章  内  容

14 .逻辑删除记录的命令格式: DELETE [范围 ] [FOR|WHILE <条件 >]

功能:对当前表中指定范围满足条件的记录加上删除标记。说明:若缺省范围和条件子句,则默认当前记录。【例 4 - 6】逻辑删除 Zgjk 表中所有服装部门的职工。USE Zgjk

DELE ALL FOR 部门 = "服装 "

LIST &&被逻辑删除的记录前出现“ *”号

Page 46: 本  章  内  容

15 .恢复记录的命令格式: RECALL [范围 ] [FOR|WHILE <条件 >]

功能:对当前表中指定范围满足条件的记录撤消删除标记。说明:若缺省范围和条件子句,则默认当前记录。【例 4 - 7】接上例,撤消 Zgjk 表中所有的逻辑删除。 RECALL ALL

LIST &&逻辑删除标记“ *”消失

Page 47: 本  章  内  容

16 .物理删除记录的命令格式: PACK

功能:物理删除带有删除标记的记录。17 .清除记录的命令命令格式: ZAP

功能:物理删除当前表中的所有记录。说明:( 1 )相当于执行 DELETE ALL 和 PACK 两条命令( 2 )表记录被删除后剩下表结构,表文件仍然存在。

Page 48: 本  章  内  容

18 .记录指针绝对定位的命令格式: GO[ TO ] TOP | BOTTOM | < 数值表达式 >

功能:将记录指针移到指定的记录。说明:( 1 ) GO TOP  将记录指针指向首记录。若没有打开表的索

引文件,则首记录按物理顺序(即记录号)定义;若打开了表文件的索引文件,则首记录按逻辑顺序定义。( 2 ) GO BOTTOM  将记录指针指向尾记录。若没有打开表

的索引文件,则尾记录按物理顺序(即记录号)定义;若打开了表文件的索引文件,则尾记录按逻辑顺序定义。( 3 ) GO < 数值表达式 >  将记录指针指向记录号为 < 数值

表达式 > 值的记录。

Page 49: 本  章  内  容

19 .记录指针相对定位的命令格式: SKIP [< 数值表达式 >]

功能:记录指针从当前记录开始移动 < 数值表达式 > 值所表示的记录个数。说明:( 1 )当 < 数值表达式 > 值为正时,指针向记录号增大方向跳过指定个数的记录;当 < 数值表达式 > 值为负时,指针向记录号减小方向跳过指定个数的记录。( 2 ) SKIP , SKIP 1 , SKIP +1 都表示指针下移(增大)一条记录。

Page 50: 本  章  内  容

20 .复制表文件的命令格式: COPY TO < 目标表文件名 >

功能:将当前表文件复制到指定的文件。说明:如果表文件( .dbf )包含备注文件( .fpt )和索引文件

( .cdx ),则 3 个文件一起复制。【例 4 - 10】为职工简况表 Zgjk制作副本。USE Zgjk

COPY TO Zgjk2

USE Zgjk2 &&复制的表文件写在磁盘上,要先打开才能显示其内容

LIST &&显示记录数据

Page 51: 本  章  内  容

21 .追加表记录的命令格式: APPEND FROM <源表文件名 >

功能:将源表的记录追加到当前表中。说明:( 1 )源表和当前表的结构要相同才能追加。( 2 )该命令等效于“表”菜单中的“追加记录”命令。【例 4 - 11】将 Zgjk2 表的记录追加到职工简况表 Zgjk 中。

USE Zgjk

ZAP &&删除全部记录APPEND FROM Zgjk2

LIST

Page 52: 本  章  内  容

22 .记录个数统计命令格式: COUNT [范围 ] [FOR | WHILE <条件 >] [TO < 内存变量

名 >]

功能:统计当前表中指定范围内、满足条件的记录个数。说明:( 1 )若缺省范围子句,则默认 ALL 。( 2 )若选用“ TO < 内存变量名 >” ,则统计的结果存入指定的内

存变量。( 3 )若当前状态是“ SET DELETE ON” ,则被逻辑删除的记录

不计数。【例 4 - 12】统计职工简况表中男职工的人数。 USE Zgjk

COUNT FOR 性别 =“男“ TO MEN

? MEN

4

Page 53: 本  章  内  容

23 .纵向求和命令格式: SUM [范围 ] [FOR|WHILE <条件 >] [TO < 内存变量名表

>]

功能:对当前表中指定范围内、满足条件的记录个数指定的数值型字段进行纵向求和。说明:( 1 )若缺省范围子句,则默认 ALL 。( 2 )若选用“ TO < 内存变量名表 >” ,则统计的结果存入指定的

内存变量。【例 4 - 13】统计职工简况表中男职工的基本工资总额 USE Zgjk

SUM TO 工资总额 ? 工资总额 8280.00

Page 54: 本  章  内  容

24 .纵向求平均命令格式: AVERAGE [范围 ] [FOR | WHILE <条件 >]

[ TO < 内存变量名表 >]

功能:对当前表中指定范围内、满足条件的记录的数值型字段进行纵向求平均。说明:( 1 )若缺省范围子句,则默认 ALL 。( 2 )若选用“ TO < 内存变量名表 >” ,则统计的结果存入指定的

内存变量。【例 4 - 14】统计职工简况表中男职工的基本工资平均值。 USE Zgjk

AVERAGE FOR 性别 = “男“ TO MENAVG

? MENAVG

1100.00