表的建立与操作_第1页
表的建立与操作_第2页
表的建立与操作_第3页
表的建立与操作_第4页
表的建立与操作_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

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

文档简介

1、第第2 2章章 表的建立与操作表的建立与操作 首先介绍数据库表的创建,表的编辑修改首先介绍数据库表的创建,表的编辑修改等操作方法,内容涉及界面交互操作和命令等操作方法,内容涉及界面交互操作和命令两种。两种。 基本内容之后介绍排序与索引。基本内容之后介绍排序与索引。 2.2 2.2 表的建立表的建立2.2.1 2.2.1 表结构设计表结构设计 在人事工资管理中,经常会遇到表下所示的二维表。在人事工资管理中,经常会遇到表下所示的二维表。 Visual FoxProVisual FoxPro采用关系数据模型,能方便地将二维表采用关系数据模型,能方便地将二维表作为作为“表表”存储到计算机的存储器中。存

2、储到计算机的存储器中。 建表时,二维表的列标题将成为表的字段,标题栏下方的建表时,二维表的列标题将成为表的字段,标题栏下方的内容输入到表中成为表的数据,每一行数据称为表的一个记内容输入到表中成为表的数据,每一行数据称为表的一个记录。录。 建表时要先确定以下两个要素:建表时要先确定以下两个要素: (1 1)表文件名;)表文件名; (2 2)表结构,各字段的字段名、字段类型和字段宽度)表结构,各字段的字段名、字段类型和字段宽度。1.1.表文件名表文件名 表文件名可使用不超过表文件名可使用不超过255255个字符(字母、汉字、数字或个字符(字母、汉字、数字或下划线)的名称,第一个字符必须是字母、汉字

3、或下划线。下划线)的名称,第一个字符必须是字母、汉字或下划线。表文件的扩展名为表文件的扩展名为.dbf.dbf或或.DBF.DBF, 例如:建立一个自由表,可以命名为例如:建立一个自由表,可以命名为“人事表人事表”或或“rsb”rsb”。 2. 2. 表结构表结构 二维表的各列称为字段,表的结构描述通过对表中各个字二维表的各列称为字段,表的结构描述通过对表中各个字段的属性定义来实现。段的属性定义来实现。 字段的属性描述内容包括字段名称、字段类型和字段宽度,字段的属性描述内容包括字段名称、字段类型和字段宽度,对于数值型字段还包括小数位数。对于数值型字段还包括小数位数。(1)(1)字段名字段名 字

4、段的命名规则与内存变量的命名规则类似,以字母(汉字段的命名规则与内存变量的命名规则类似,以字母(汉字)或下划线开头,由字母、数字和下划线组成,但最多字)或下划线开头,由字母、数字和下划线组成,但最多1010个字符。个字符。 注意,同一个表中的字段名不能相同。注意,同一个表中的字段名不能相同。(2)(2)字段类型字段类型 Visual FoxProVisual FoxPro定义了定义了1313种字段数据类型,常用的字段类种字段数据类型,常用的字段类型有型有1111种,见下表所示。种,见下表所示。 (3)(3)字段宽度字段宽度 字符型、数值型和浮动数值型等三种类型的字段宽度可以改变字符型、数值型和

5、浮动数值型等三种类型的字段宽度可以改变, ,其它类型其它类型字段有唯一确定的宽度,不能改变。字段有唯一确定的宽度,不能改变。 在建立表结构时,应根据要存储数据的实际需要设定合适的宽度。在建立表结构时,应根据要存储数据的实际需要设定合适的宽度。 字符型字段宽度定义时应考虑所存放字符串的最大长度字符型字段宽度定义时应考虑所存放字符串的最大长度. . 例如,描述人的姓名字段,考虑到中国人的姓名绝大多数为三个汉字,例如,描述人的姓名字段,考虑到中国人的姓名绝大多数为三个汉字,再顾及到少数人的四个汉字,可以取姓名字段的宽度为再顾及到少数人的四个汉字,可以取姓名字段的宽度为8 8。 在定义数值形和浮动数值

6、型字段宽度时,应考虑到正负号和小数点,在定义数值形和浮动数值型字段宽度时,应考虑到正负号和小数点,带小数的数值型字段宽度计算如下:带小数的数值型字段宽度计算如下: 字段宽度字段宽度=1=1(正负号)(正负号)+ +整数位数整数位数+1+1(小数点)(小数点)+ +小数位数小数位数 例如,数值型字段宽度为例如,数值型字段宽度为7 7,小数位数为,小数位数为2 2位,则能存放的最大数值为位,则能存放的最大数值为9999.999999.99,最小数值为,最小数值为-999.99-999.99。 根据上述规定,为人事表设计出表结构,表名为根据上述规定,为人事表设计出表结构,表名为rsbrsb。 2.2

7、.2 2.2.2 表结构建立表结构建立 1.1.文件位置设文件位置设定定 约定用户文约定用户文件均建立在指件均建立在指定目录下。文定目录下。文件位置设定操件位置设定操作步骤如下:作步骤如下: 步骤一:步骤一:选选定【工具】菜定【工具】菜单的【选项】单的【选项】命令,出现如命令,出现如图所示界面;图所示界面; 步骤二:步骤二:选定【文件位置】选项卡,在列表中选定选定【文件位置】选项卡,在列表中选定【默认目录】选项,按【修改】按钮,出现如图所示【默认目录】选项,按【修改】按钮,出现如图所示【更改文件位置】对话框;【更改文件位置】对话框; 步骤三:步骤三:选定【使用(选定【使用(U U)默认目录】复

8、选框,在)默认目录】复选框,在“定位定位(L L)默认目录)默认目录”文本框键入路径文本框键入路径D:Visual FoxPro D:Visual FoxPro ExerciseExercise(或通过文本框右侧标有三个圆点的对话按钮选定(或通过文本框右侧标有三个圆点的对话按钮选定路径);路径); 步骤四:步骤四:在【更改文件位置】对话框按【确定】按钮返回在【更改文件位置】对话框按【确定】按钮返回【选项】界面,按【确定】按钮关闭该界面【选项】界面,按【确定】按钮关闭该界面。 可用命令:可用命令:SET DEFAULT TO D:Visual FoxPro ExerciseSET DEFAULT

9、 TO D:Visual FoxPro Exercise2.2.交互方式建立表结构交互方式建立表结构 例例2-1 2-1 利用交互方式建立利用交互方式建立rsbrsb表的结构。表的结构。步骤一: 开始建表:选定【文件】开始建表:选定【文件】菜单的【新建】命令菜单的【新建】命令选定选定如图所示的【新建】对话框如图所示的【新建】对话框中【表】选项按钮中【表】选项按钮按【新按【新建文件】按钮,出现【创建】建文件】按钮,出现【创建】对话框。对话框。 步骤二:步骤二:打开表设计器:在【创建】对话框中的打开表设计器:在【创建】对话框中的“输入输入表名表名”文本框输入表名文本框输入表名rsbrsb,按【保存

10、】按钮,出现如图所,按【保存】按钮,出现如图所示表示表rsb.dbfrsb.dbf设计器。设计器。 步骤三:步骤三:设定各字段的属性值:设定各字段的属性值。设定各字段的属性值:设定各字段的属性值。 例如:先在例如:先在“字段名字段名”下方的文本框输入编号下方的文本框输入编号在在“类型类型”列表框选定字符型列表框选定字符型在在“宽度宽度”文本框输入文本框输入4 4(或用标有上下(或用标有上下箭头的微调按钮将数值调整至箭头的微调按钮将数值调整至4 4)。)。 设定完第一字段,再依次设定其它字段。设定完第一字段,再依次设定其它字段。 步骤四:步骤四:保存:字段的属性值设定完成后,按【确定】保存:字段

11、的属性值设定完成后,按【确定】按钮,当询问按钮,当询问“现在输入数据记录吗?现在输入数据记录吗?”。 若按【否】按钮则关闭表设计器窗口,建立表结构结束。若按【否】按钮则关闭表设计器窗口,建立表结构结束。若按【是】按钮,则出现若按【是】按钮,则出现rsb.dbfrsb.dbf记录编辑窗口,供用户输入记录编辑窗口,供用户输入记录数据。记录数据。3. 命令方式建立表结构命令方式建立表结构 命令格式如下:命令格式如下: CREATE TABLE CREATE TABLE ( ( ( (,) , ( (,) 在命令窗口键入如下命令:在命令窗口键入如下命令: CREATE TABLE gzbCREATE

12、TABLE gzb( (编号编号 C(4),C(4),基本工资基本工资 N(8,2),N(8,2),岗位津贴岗位津贴 N(7,2),;N(7,2),; 奖励奖励 N(7,2),N(7,2),应发工资应发工资 N(8,2),N(8,2),水电水电 N(7,2),N(7,2),保险保险 N(7,2),;N(7,2),; 实发工资实发工资 N(8,2)N(8,2)2.2.3 2.2.3 表记录数据的输入表记录数据的输入 利用交互方式建立表结构后,若在出现输入记录询问对话利用交互方式建立表结构后,若在出现输入记录询问对话框时按【是】按钮,则出现记录编辑窗口,供用户输入数据框时按【是】按钮,则出现记录编

13、辑窗口,供用户输入数据记录。以记录。以rsb.dbfrsb.dbf为例,则记录编辑窗口如图所示。为例,则记录编辑窗口如图所示。 在数据输入窗口中,光标首在数据输入窗口中,光标首先停留在第一个记录的第一个先停留在第一个记录的第一个字段上,输入相应的数据后,字段上,输入相应的数据后,移动光标到其它字段并输入数移动光标到其它字段并输入数据,依此方法完成一条记录的据,依此方法完成一条记录的数据输入。重复上述操作,依数据输入。重复上述操作,依次输入其它数据记录。次输入其它数据记录。具体操作时应注意以下问题:具体操作时应注意以下问题: (1 1)表的数据通过编辑窗口按记录逐个字段输入。一旦在最后一个记)表

14、的数据通过编辑窗口按记录逐个字段输入。一旦在最后一个记录的任何一个字段输入数据,系统将自动提供下一记录的输入位置。录的任何一个字段输入数据,系统将自动提供下一记录的输入位置。 (2 2)若输入的数据充满整个字段,则光标自动移到下一字段,否则,)若输入的数据充满整个字段,则光标自动移到下一字段,否则,需要按回车键才能将光标移到下一字段。需要按回车键才能将光标移到下一字段。 (3 3)逻辑型字段只能接收)逻辑型字段只能接收T,t,Y,yT,t,Y,y(表示(表示“真真”),F,f,N,n,F,f,N,n(表示(表示“假假”)中的任何一个字符。)中的任何一个字符。 (4 4)日期型字段应注意日期格式

15、和日期的有效性,默认格式)日期型字段应注意日期格式和日期的有效性,默认格式mm/dd/yymm/dd/yy输入。若按格式输入。若按格式yy.mm.ddyy.mm.dd输入,则须在命令窗口键入如下命令:输入,则须在命令窗口键入如下命令: SET DATE ANSISET DATE ANSI SET DATE USA SET DATE USA和和SET DATE AMERICASET DATE AMERICA后均使日期输入或显示格式变化。后均使日期输入或显示格式变化。 若要显示年份的前两位(世纪标志),则可键入如下命令:若要显示年份的前两位(世纪标志),则可键入如下命令: SET CENTURY

16、ONSET CENTURY ON 若取消世纪标志,则可使用命令若取消世纪标志,则可使用命令SET CENTURY OFFSET CENTURY OFF。具体操作时应注意以下问题:具体操作时应注意以下问题: (5 5)对备注型字段的输入,当光标位于该字段时,双击鼠)对备注型字段的输入,当光标位于该字段时,双击鼠标左键或按下标左键或按下Ctrl+PgDnCtrl+PgDn键进入编辑器,输入完字符型数据后键进入编辑器,输入完字符型数据后关闭编辑器,此时关闭编辑器,此时memomemo变为变为MemoMemo(表示该字段非空)。(表示该字段非空)。 (6 6)对通用型字段的输入,当光标位于该字段时,双

17、击鼠)对通用型字段的输入,当光标位于该字段时,双击鼠标左键或按下标左键或按下Ctrl+PgDnCtrl+PgDn键进入编辑器,此时可选定【编辑】键进入编辑器,此时可选定【编辑】菜单的【插入对象】命令,插入图形、电子表格或声音等多菜单的【插入对象】命令,插入图形、电子表格或声音等多媒体数据文件,然后关闭编辑器,此时媒体数据文件,然后关闭编辑器,此时gengen变为变为GenGen(表示该(表示该字段非空)。字段非空)。 (7 7)在输入数据的过程中,可将编辑窗口转换为浏览窗口,)在输入数据的过程中,可将编辑窗口转换为浏览窗口,方法为选定【显示】菜单的【浏览】命令。方法为选定【显示】菜单的【浏览】

18、命令。 (8 8)记录数据输入结束,按)记录数据输入结束,按Ctrl+WCtrl+W保存退出,若放弃已经保存退出,若放弃已经输入的数据按输入的数据按Ctrl+QCtrl+Q。 2.3 2.3 表的编辑修改表的编辑修改 2.3.1 2.3.1 表文件的表文件的打开与关闭打开与关闭 一般来说一般来说, , 在进行在进行各种表操作之前先要各种表操作之前先要打开表。刚创建的表打开表。刚创建的表则自动处于打开状态,则自动处于打开状态,在其它情况下可用如在其它情况下可用如下方法打开表下方法打开表。1. 1. 用菜单打开表用菜单打开表 使用【文件】菜单使用【文件】菜单中的【打开】命令,中的【打开】命令,出现

19、如图所示的【打出现如图所示的【打开】对话框。开】对话框。若要对表进行编辑修改操作,若要对表进行编辑修改操作,则必须选定【独占】复选框则必须选定【独占】复选框 2. 2. 用用USEUSE命令打开和关闭表命令打开和关闭表 USE USE EXCLUSIVE | SHARED EXCLUSIVE | SHARED 在当前工作区中打开或关闭表。打开时,若该表有备注型在当前工作区中打开或关闭表。打开时,若该表有备注型或通用型字段,则自动打开同名的或通用型字段,则自动打开同名的.FPT.FPT文件。文件。 缺省缺省 表示关闭当前工作区中已经打开的表。表示关闭当前工作区中已经打开的表。 例如例如: : U

20、SE rsb & USE rsb &打开打开rsb.dbfrsb.dbf USE & USE &关闭关闭 (1 1)用)用EXCLUSIVEEXCLUSIVE选项,则以独占方式打开表。用选项,则以独占方式打开表。用SHAREDSHARED选项,则以共选项,则以共享方式打开表,此时表结构和表数据只读,不能编辑修改。享方式打开表,此时表结构和表数据只读,不能编辑修改。 (2 2)已打开的一个表有一个指针与其对应,指针所指的记录称为当前)已打开的一个表有一个指针与其对应,指针所指的记录称为当前记录。表刚打开时,记录指针指向第一个记录。记录。表刚打开时,记录指针指向第一

21、个记录。 (3 3)表操作结束后及时关闭,以便将内存中的数据保存到外存的表中)表操作结束后及时关闭,以便将内存中的数据保存到外存的表中该工作区中原来打该工作区中原来打开的表自动关闭开的表自动关闭3.3.关闭表的其它方法关闭表的其它方法 CLEAR ALLCLEAR ALL:关闭所有的表,并选择工作区:关闭所有的表,并选择工作区1 1,释放所有内存变量、用,释放所有内存变量、用户定义的菜单和窗口。户定义的菜单和窗口。 CLOSE ALLCLOSE ALL:关闭所有打开的数据库和表,并选择工作区:关闭所有打开的数据库和表,并选择工作区1 1,关闭各种,关闭各种设计器和项目管理器。设计器和项目管理器

22、。 CLOSE DATABASE ALLCLOSE DATABASE ALL:关闭当前数据库和其中的表,若无打开的数:关闭当前数据库和其中的表,若无打开的数据库,则关闭所有自由表,并选择工作区据库,则关闭所有自由表,并选择工作区1 1。带。带ALLALL则关闭所有数据库和则关闭所有数据库和其中的表,以及所有已经打开的自由表。其中的表,以及所有已经打开的自由表。 CLOSE TABLES ALLCLOSE TABLES ALL:关闭当前数据库中所有的表,但不关闭数据库。:关闭当前数据库中所有的表,但不关闭数据库。若无打开的数据库,则关闭所有自由表。带若无打开的数据库,则关闭所有自由表。带ALLA

23、LL则关闭所有数据库中所有则关闭所有数据库中所有的表和所有自由表,但不关闭数据库。的表和所有自由表,但不关闭数据库。 除以上命令之外,还可通过退出除以上命令之外,还可通过退出Visual FoxProVisual FoxPro来关闭已打开的表。来关闭已打开的表。选定【文件】菜单中的【退出】命令,或在【命令】窗口键入命令选定【文件】菜单中的【退出】命令,或在【命令】窗口键入命令QUITQUIT。2.3.2 2.3.2 表结构的显示与修改表结构的显示与修改1. 1. 表结构显示表结构显示 LISP | DISPLAY STRUCTURE TO PRINTER PROMPT LISP | DISPL

24、AY STRUCTURE TO PRINTER PROMPT | TO FILE | TO FILE 显示当前已经打开表的结构。选项显示当前已经打开表的结构。选项TO PRINTERTO PRINTER和和TO FILE TO FILE 含义与在变量显示命令中的含义相同。含义与在变量显示命令中的含义相同。 例例2-2 2-2 显示显示“人事表人事表”的结构。的结构。 在【命令】窗口依次键入如下两条命令:在【命令】窗口依次键入如下两条命令: USE rsb & USE rsb & 在当前工作区打开表在当前工作区打开表rsbrsb LIST STRUCTURE LIST STRUC

25、TURE & & 显示表显示表rsbrsb的结构的结构 2. 2. 浏览方式表结构修改浏览方式表结构修改 在表已经打开的情况下,可以采用如下两种方法之一打在表已经打开的情况下,可以采用如下两种方法之一打开【表设计器】窗口修改表结构。开【表设计器】窗口修改表结构。 (1 1)选定【显示】菜单的【表设计器】命令)选定【显示】菜单的【表设计器】命令 (2 2)在【命令】窗口键入命令)在【命令】窗口键入命令MODIFY STRUCTUREMODIFY STRUCTURE 【表设计器】窗口出现后,可以按照需要修改字段属性,【表设计器】窗口出现后,可以按照需要修改字段属性,也可以利用【插入

26、】按钮在任何位置增加字段,或利用【删也可以利用【插入】按钮在任何位置增加字段,或利用【删除】按钮删除字段。除】按钮删除字段。 表结构修改完成后,可选择窗口的【确定】按钮或【取表结构修改完成后,可选择窗口的【确定】按钮或【取消】按钮对所做出的修改进行确认或取消。消】按钮对所做出的修改进行确认或取消。 (1 1)【确定】按钮与)【确定】按钮与Ctrl+WCtrl+W键作用相同。键作用相同。 (2 2)【取消】按钮与)【取消】按钮与Ctrl+QCtrl+Q键作用相同。键作用相同。3.3.命令方式表结构修改命令方式表结构修改 ALTER TABLE ALTER TABLE ADD | ALTER CO

27、LUMN ADD | ALTER COLUMN ( (,) 在在 指定的数据表中增加一个字段或修改指定字段的属性。指定的数据表中增加一个字段或修改指定字段的属性。 ADD COLUMNADD COLUMN子句的子句的 用于指定增加的字段,字段属性由用于指定增加的字段,字段属性由 ( (,)规定。规定。 例如:例如: ALTER TABLE rsb ADD COLUMN ALTER TABLE rsb ADD COLUMN 毕业院校毕业院校 C(20)C(20) ALTER COLUMN ALTER COLUMN 子句的子句的 用于指定要修改的字段,用户可以用于指定要修改的字段,用户可以用用 (

28、 (,)重新指定字段的属性。重新指定字段的属性。 例如:例如: ALTER TABLE rsb ALTER ALTER TABLE rsb ALTER 毕业院校毕业院校 C(16)C(16)ALTER TABLE ALTER TABLE DROP COLUMN DROP COLUMN |3 | RENAME COLUMN RENAME COLUMN TO TO 2 功能:在功能:在 指定的数据表中删除指定的字段或修指定的数据表中删除指定的字段或修改指定的字段名。改指定的字段名。 RENAME COLUMNRENAME COLUMN子句将子句将 1指定的字段更名为指定的字段更名为 2。 例如:例

29、如: ALTER TABLE rsb RENAME COLUMN ALTER TABLE rsb RENAME COLUMN 毕业院校毕业院校 TO TO 毕业院校毕业院校A A DROP COLUMN DROP COLUMN 子句指定删除一个字段。子句指定删除一个字段。 例如:例如: ALTER TABLE rsb DROP ALTER TABLE rsb DROP 毕业院校毕业院校A A 注意,用注意,用ALTER TABLEALTER TABLE命令修改一个表结构后,该表自动命令修改一个表结构后,该表自动处于打开状态。处于打开状态。2.3.3 2.3.3 记录的显示与修改记录的显示与修改

30、1. 1. 浏览方式记录显示与修改浏览方式记录显示与修改 打开【浏览】窗口可选择下述界面操作方式或命令方式之一。打开【浏览】窗口可选择下述界面操作方式或命令方式之一。 (1 1)界面操作方式:打开表,选定【显示】菜单的【浏览】命令。)界面操作方式:打开表,选定【显示】菜单的【浏览】命令。 (2 2)命令方式:在【命令】窗口依次发出以下命令:)命令方式:在【命令】窗口依次发出以下命令: USE rsb & USE rsb & 打开打开 rsbrsb BROWSE & BROWSE & 浏览命令浏览命令 当字段或记录较多时,可单击滚动条两端的箭头或拖曳其中的滑块,使

31、当字段或记录较多时,可单击滚动条两端的箭头或拖曳其中的滑块,使表数据记录在窗口中滚动显示。表数据记录在窗口中滚动显示。 通过【显示】菜单下的【浏览】和【编辑】命令可以在浏览显示格式和通过【显示】菜单下的【浏览】和【编辑】命令可以在浏览显示格式和编辑显示格式之间切换。编辑显示格式之间切换。 注意:若要修改记录,必须以独占方式打开表注意:若要修改记录,必须以独占方式打开表 记录数据修改时,只要单击字段的某位置,就可根据光标指示进行修改。记录数据修改时,只要单击字段的某位置,就可根据光标指示进行修改。2. 2. 命令方式显示记录命令方式显示记录 LIST | DISPLAY FIELDS LIST

32、| DISPLAY FIELDS FOR FOR WHILE WHILE OFF 2 OFF TO PRINTER PROMPT | TO FILE TO PRINTER PROMPT | TO FILE 功能:按指定范围和条件筛选出记录并显示出来,或送功能:按指定范围和条件筛选出记录并显示出来,或送到指定的目的地。到指定的目的地。 LISTLIST和和DISPLAYDISPLAY的功能有所不同,的功能有所不同,LISTLIST以滚动方式输出,以滚动方式输出,DISPLAYDISPLAY为分屏显示。为分屏显示。 为了让用户了解显示内容所在的记录,命令自动显示记为了让用户了解显示内容所在的记录,

33、命令自动显示记录号,若不需要显示记录号,则在命令中使用录号,若不需要显示记录号,则在命令中使用OFFOFF选项。选项。 选项选项TO PRINTERTO PRINTER和和TO FILE TO FILE 含义与在变量显示含义与在变量显示命令中的含义相同。其它四个子句的使用和书写规则如下:命令中的含义相同。其它四个子句的使用和书写规则如下:(1)FIELDS(1)FIELDS子句子句 FIELDS FIELDS子句指定要显示的字段,相当于关系运算的子句指定要显示的字段,相当于关系运算的“投影投影”操作。操作。 保留字保留字FIELDSFIELDS可以省略可以省略 用来列出需要显示的内容,表达式之

34、间用来列出需要显示的内容,表达式之间用用“,”号分隔。号分隔。 例例2-3 2-3 显示显示rsbrsb中职工的编号中职工的编号, ,姓名姓名, ,性别和年龄。性别和年龄。 可在命令窗口键入如下命令:可在命令窗口键入如下命令: USE rsbUSE rsb LIST LIST 编号编号, ,姓名姓名, ,性别性别,YEAR(DATE()-YEAR(,YEAR(DATE()-YEAR(出生日期出生日期) ) (2)(2)范围子句范围子句 用来确定该命令涉及的记录,范围有用来确定该命令涉及的记录,范围有4 4种限定方法:种限定方法: ALLALL:所有记录;:所有记录; NEXT(n)NEXT(n

35、):从当前记录开始的:从当前记录开始的n n个记录;个记录; RECORD(n)RECORD(n):第:第n n个记录;个记录; RESTREST:从当前记录开始到最后一个记录的所有记录。:从当前记录开始到最后一个记录的所有记录。 例如:例如: USE rsb & USE rsb & 打开打开rsbrsb,记录指针指向第,记录指针指向第1 1记录记录 LIST LIST 编号编号, ,姓名姓名, ,性别性别, ,出生日期出生日期 NEXT(4)NEXT(4) 命令动词为命令动词为LISTLIST时,范围子句缺省时默认为时,范围子句缺省时默认为ALLALL。而当命。而当命令动词为

36、令动词为DISPLAYDISPLAY时,范围子句缺省时默认为当前记录。时,范围子句缺省时默认为当前记录。(3)FOR(3)FOR子句子句 FORFOR子句的子句的 1为逻辑表达式,它指定记录选择的条件,为逻辑表达式,它指定记录选择的条件,相当于关系运算的相当于关系运算的“选择选择”操作,在指定的范围内筛选出符操作,在指定的范围内筛选出符合条件的记录。合条件的记录。 例如:例如: USE rsb USE rsb LIST LIST 姓名姓名 FOR FOR 婚否婚否=.T. REST=.T. REST (4)WHILE(4)WHILE子句子句 WHILEWHILE子句也用于指明操作条件,但仅在当

37、前记录符合子句也用于指明操作条件,但仅在当前记录符合 2时才开始依次筛选记录,一旦遇到不满足时才开始依次筛选记录,一旦遇到不满足 2的记录的记录就停止操作。就停止操作。 例如:例如: USE rsbUSE rsb LIST LIST 姓名姓名, ,出生日期出生日期, ,婚否婚否 WHILE YEAR(WHILE YEAR(出生日期出生日期)1975 )1975 (5)(5)命令和子句的书写规则命令和子句的书写规则 (1 1)命令动词与子句、子句与子句、子句内的各部分)命令动词与子句、子句与子句、子句内的各部分(例如:(例如:FORFOR与与 1)之间必须用空格隔开,各子句的次)之间必须用空格隔

38、开,各子句的次序可以任意排列。例如:序可以任意排列。例如: LIST FOR LIST FOR 婚否婚否=.F. WHILE YEAR(=.F. WHILE YEAR(出生日期出生日期)1975 )1975 姓名姓名, ,出生日期出生日期, ,婚否婚否 (2 2)所有命令动词、各子句和内部函数中的保留字都可)所有命令动词、各子句和内部函数中的保留字都可只写前只写前4 4个字母,而且英文字母大小写等效。例如个字母,而且英文字母大小写等效。例如: : MODIFY STRUCTURE MODI STRU MODIFY STRUCTURE MODI STRU 或或 modi strumodi str

39、u (3 3)一条命令的长度可达)一条命令的长度可达81928192个字符,若一行写不完,个字符,若一行写不完,可在适当位置插入续行标志可在适当位置插入续行标志“;”;”并回车,在下一行继续输并回车,在下一行继续输入该命令的其余部分。入该命令的其余部分。 (4 4)命令动词、子句和函数中的保留字,以及命令中的命令动词、子句和函数中的保留字,以及命令中的分隔符号和数字均要用半角符号,不能用全角符号分隔符号和数字均要用半角符号,不能用全角符号3. 3. 命令方式记录修改命令方式记录修改 REPLACE REPLACE WITH WITH ADDITIVE 1 ADDITIVE , 2 WITH W

40、ITH ADDITIVE2 ADDITIVE FOR FOR WHILE WHILE 2 在当前打开表的指定记录中,将有关字段的值用相应的表达式值来替在当前打开表的指定记录中,将有关字段的值用相应的表达式值来替换。若换。若 与与 等选项都缺省,只对当前记录的有关字段进行替等选项都缺省,只对当前记录的有关字段进行替换。该命令对换。该命令对 内符合内符合 的记录用的记录用 i的值来替换的值来替换 i。 例例2-42-4 USE rsb USE rsb GO 6 GO 6 REPLACE REPLACE 职称职称 WITH WITH 副教授副教授,单位代码单位代码 WITH A01WITH A01

41、范围子句、范围子句、FORFOR子句和子句和WHILEWHILE子句的使用同显示命令中相同。子句的使用同显示命令中相同。ADDITIVEADDITIVE用于备注型字段,表示将表达式值添加到字段的原有内容之后,而不是用于备注型字段,表示将表达式值添加到字段的原有内容之后,而不是取代。取代。4. 4. 记录定位记录定位 存取数据先要进行记录定位,记录定位就是将记录指针指向某个记录,存取数据先要进行记录定位,记录定位就是将记录指针指向某个记录,使之成为当前记录。表刚打开时,记录指针指向第一个记录。使之成为当前记录。表刚打开时,记录指针指向第一个记录。 【浏览】窗口打开后,使用【表】菜单的【移动记录】

42、命令可以移动记【浏览】窗口打开后,使用【表】菜单的【移动记录】命令可以移动记录指针来改变当前记录。录指针来改变当前记录。(1) (1) 绝对定位命令绝对定位命令 GOTO TOP|BOTTOMGOTO TOP|BOTTOM 功能:将记录指针定位在表的第一个记录或最后一个记录。功能:将记录指针定位在表的第一个记录或最后一个记录。 GOTO GOTO 功能:将记录指针定位在功能:将记录指针定位在 指出的记录。指出的记录。 例如:例如: USE rsbUSE rsb GOTO 4 & GOTO 4 & 指针移动到指针移动到4 4号记录号记录 ? RECNO() & ? REC

43、NO() & 显示当前记录号显示当前记录号4 4(2)(2)相对定位命令相对定位命令 SKIP SKIP 功能:从当前记录开始相对移动记录指针,功能:从当前记录开始相对移动记录指针, 表表示移动记录的个数。示移动记录的个数。 当当 为负值时,指针向文件头移动,当为负值时,指针向文件头移动,当 为正值时,指针向文件尾移动。为正值时,指针向文件尾移动。 缺省时默缺省时默认为认为1 1。 例如:例如: USE rsb & USE rsb & 打开打开rsbrsb,当前记录为第一个记录,当前记录为第一个记录 SKIP 1 & SKIP 1 & 指针向文件头移动指

44、针向文件头移动1 1 ? RECNO(),BOF() & ? RECNO(),BOF() & 显示显示1,.T.1,.T. SKIP 2 & SKIP 2 & 指针向文件尾移动指针向文件尾移动2 2 ? RECNO(),BOF() & ? RECNO(),BOF() & 显示显示3,.F.3,.F.2.3.4 2.3.4 记录的追加记录的追加 追加记录就是向表的末尾添加记录。追加记录就是向表的末尾添加记录。1. 1. 交互操作方法交互操作方法 【浏览】窗口,选择【表】菜单【追加新记录】命令,即【浏览】窗口,选择【表】菜单【追加新记录】命令,即可在

45、当前浏览的表最后记录的下面产生一个空白记录,供追可在当前浏览的表最后记录的下面产生一个空白记录,供追加新记录。加新记录。 将光标定位在各字段,输入完数据关闭将光标定位在各字段,输入完数据关闭窗口。窗口。 除此之外,【浏览】窗口,选择【显示】菜单中【追加方除此之外,【浏览】窗口,选择【显示】菜单中【追加方式】命令,出现追加新记录窗口后式】命令,出现追加新记录窗口后输入记录数据输入记录数据。 注意注意: :【表】菜单【追加新记录】命令一次只能追加一个【表】菜单【追加新记录】命令一次只能追加一个记录,而【显示】菜单【追加方式】命令一次可追加多个记记录,而【显示】菜单【追加方式】命令一次可追加多个记录

46、。录。2. APPEND2. APPEND、INSERTINSERT命令命令 APPEND BLANKAPPEND BLANK 使用使用BLANKBLANK子句能在表末尾追加一条空白记录,留待以后子句能在表末尾追加一条空白记录,留待以后添入数据。若缺省添入数据。若缺省BLANKBLANK子句就会出现记录编辑窗口,窗口子句就会出现记录编辑窗口,窗口内有空白的记录等待用户输入数据。内有空白的记录等待用户输入数据。 INSERTINSERT命令也可用来插入表记录命令也可用来插入表记录 命令格式:命令格式:INSERT BLANK BEFOREINSERT BLANK BEFORE 使用使用BEFOR

47、EBEFORE子句能在当前记录之前插入新记录。缺省该子子句能在当前记录之前插入新记录。缺省该子句则在当前记录之后插入新记录。句则在当前记录之后插入新记录。 使用使用BLANKBLANK子句立即插入一条空白记录,若缺省该子句,子句立即插入一条空白记录,若缺省该子句,则出现记录编辑窗口等待用户输入记录。则出现记录编辑窗口等待用户输入记录。3. INSERT INTO3. INSERT INTO命令命令 INSERT INTO INSERT INTO命令可直接在表尾追加一个新记录,并直接将命令可直接在表尾追加一个新记录,并直接将提供的数据输入记录。提供的数据输入记录。 INSERT TO INSER

48、T TO (,2,) VALUES( VALUES(,2,) 利用利用INSERT INTOINSERT INTO命令追加记录时,表不必事先打开,但是命令追加记录时,表不必事先打开,但是要求字段与表达式的类型必须相同。要求字段与表达式的类型必须相同。 例如例如: : INSERT INTO rsb(INSERT INTO rsb(编号编号, ,姓名姓名, ,性别性别, ,出生日期出生日期) VALUES ;) VALUES ; (0007, (0007,张兵张兵,男男,1955/08/18),1955/08/18) 若字段名全部省略,就须按表结构的字段顺序添写若字段名全部省略,就须按表结构的字

49、段顺序添写VALUESVALUES子子句的所有表达式。句的所有表达式。 2.3.5 2.3.5 记录的删除与恢复记录的删除与恢复 删除记录一般需要两步删除记录一般需要两步: (1) : (1) 加删除标记加删除标记;(2) ;(2) 将带有删将带有删除标记的记录从表中删除。除标记的记录从表中删除。 在物理删除前可以恢复。在物理删除前可以恢复。1. 1. 逻辑删除逻辑删除 在【浏览】窗口单击该记录行最左的删除标记列,就会出在【浏览】窗口单击该记录行最左的删除标记列,就会出现删除标记现删除标记“” ” 。 使用下面的命令作删除标记。使用下面的命令作删除标记。 DELETE DELETE FOR F

50、OR WHILE WHILE 2 功能:对当前表在指定功能:对当前表在指定 内满足内满足 1和和 2的记录作删除标记。若可选项都缺省,只指当前记录。的记录作删除标记。若可选项都缺省,只指当前记录。 2.2.物理删除物理删除 PACKPACK 功能:从表中将带有删除标记的记录物理删除。功能:从表中将带有删除标记的记录物理删除。 例例2-5 2-5 物理删除部门代码为物理删除部门代码为“B02”B02”的职工记录。的职工记录。 键入如下命令:键入如下命令: USE rsbUSE rsb DELETE FOR RIGHT( DELETE FOR RIGHT(部门代码部门代码,3)=B02,3)=B0

51、2 LIST LIST PACK PACK LIST LIST3.3.记录恢复记录恢复 在【浏览】窗口单击记录的删除标记列,删除标记在【浏览】窗口单击记录的删除标记列,删除标记“”消消失即可。或使用下面的命令去掉删除标记。失即可。或使用下面的命令去掉删除标记。 RECALL RECALL FOR FOR WHILE WHILE 2 对当前表在指定对当前表在指定 内满足内满足 1和和 2的记录去的记录去掉删除标记。若可选项都缺省只恢复当前记录。掉删除标记。若可选项都缺省只恢复当前记录。 例例2-62-6 逻辑删除部门代码为逻辑删除部门代码为“A01”A01”记录,恢复所有职称记录,恢复所有职称为

52、副教授的职工记录。为副教授的职工记录。 USE rsbUSE rsb DELETE FOR RIGHT( DELETE FOR RIGHT(部门代码部门代码,3)=A01,3)=A01 LIST LIST RECALL FOR ALLTRIM( RECALL FOR ALLTRIM(职称职称)=“)=“副教授副教授” ” LISTLIST4.4.记录清除记录清除 物理删除当前表中的所有记录,则可以使用如下命令物理删除当前表中的所有记录,则可以使用如下命令 ZAPZAP 执行执行ZAPZAP相当于执行相当于执行DELETE ALLDELETE ALL和和PACKPACK两条命令,两条命令,ZAP

53、ZAP将影响当前表中的所有记录,慎用。将影响当前表中的所有记录,慎用。2.4 2.4 表复制与表复制与逻辑表设置逻辑表设置 2.4.1 2.4.1 表复制表复制1. 1. 复制任何文件复制任何文件 COPY FILE COPY FILE TO TO 2 功能:从功能:从 1复制到复制到 2。若对数据表进行复制,该表必。若对数据表进行复制,该表必须处于关闭状态,例如:须处于关闭状态,例如: CLOSE ALLCLOSE ALL COPY FILE rsb.dbf TO rsb1.dbf COPY FILE rsb.dbf TO rsb1.dbf 注意,用注意,用COPY FILECOPY FIL

54、E复制带有备注文件的表时,除安排一条命令复制复制带有备注文件的表时,除安排一条命令复制表文件之外,还要安排一条命令复制备注文件。表文件之外,还要安排一条命令复制备注文件。 例如,复制带有备注文件的例如,复制带有备注文件的rsbrsb表,可用如下两条命令:表,可用如下两条命令: COPY FILE rsb.dbf TO rsb1.dbf COPY FILE rsb.dbf TO rsb1.dbf COPY FILE rsb.fpt COPY FILE rsb.fpt TO rsb1.fpt TO rsb1.fpt2. 2. 表内容复制表内容复制 COPY TO COPY TO FOR FOR W

55、HILE WHILE 2 FIELDS FIELDS | FIELDS LIKE | FIELDS LIKE | | FIELDS EXCEPT FIELDS EXCEPT TYPE XLS | SDF | TYPE XLS | SDF | DELIMITED WITH DELIMITED WITH | WITH BLANK | WITH TAB | WITH BLANK | WITH TAB 将当前表中选定的部分记录和部分字段复制成一个新表或其它类型文将当前表中选定的部分记录和部分字段复制成一个新表或其它类型文件件. . (1 1)对于含有备注型、通用型字段的表,在复制扩展名为)对于含有备注

56、型、通用型字段的表,在复制扩展名为.DBF.DBF的表文的表文件的同时,自动复制扩展名为件的同时,自动复制扩展名为.FPT.FPT文件。例如:文件。例如: USE rsbUSE rsb COPY TO rsb2 COPY TO rsb2 COPY TO rsb3 FIELDS COPY TO rsb3 FIELDS 编号编号, ,姓名姓名, ,性别性别 FOR ALLTRIM(FOR ALLTRIM(职称职称)=)=副教授副教授 USE rsb2 USE rsb2 LIST LIST USE rsb3 USE rsb3 (2 2) 指字段名中可包含通配符指字段名中可包含通配符* *和?号,和?

57、号,FIELDS FIELDS LIKELIKE子句表示子句表示 指出的字段,指出的字段,FIELDS EXCEPTFIELDS EXCEPT子句表示取子句表示取 以外的字段。以外的字段。 (3 3)TYPETYPE子句指出复制得到的文件类型,若缺省则为数据表类型。若子句指出复制得到的文件类型,若缺省则为数据表类型。若需要复制出其它类型文件必须使用需要复制出其它类型文件必须使用TYPETYPE子句,规定如下:子句,规定如下: TYPE XLSTYPE XLS:新文件为:新文件为ExcelExcel文件,扩展名为文件,扩展名为.XLS.XLS。 TYPE SDFTYPE SDF:新文件为文本文件

58、,扩展名为:新文件为文本文件,扩展名为.TXT.TXT,数据间无分隔符,数据间无分隔符,无定界符。无定界符。 TYPE DELIMITEDTYPE DELIMITED:新文件为文本文件,扩展名为:新文件为文本文件,扩展名为.TXT.TXT,数据间分隔,数据间分隔符为符为“,”号,定界符为双引号。号,定界符为双引号。 TYPE DELIMITED WITH TYPE DELIMITED WITH :新文件为文本文件,扩展名:新文件为文本文件,扩展名为为.TXT.TXT,数据间分隔符为,数据间分隔符为“,”号,定界符用号,定界符用 指定。指定。 TYPE DELIMITED WITH BLANKT

59、YPE DELIMITED WITH BLANK:新文件为文本文件,扩展名为:新文件为文本文件,扩展名为.TXT.TXT,数据间分隔符为空格,定界符为双引号。数据间分隔符为空格,定界符为双引号。 TYPE DELIMITED WITH TABTYPE DELIMITED WITH TAB:新文件为文本文件,扩展名为:新文件为文本文件,扩展名为.TXT.TXT,数据间分隔符为制表符,定界符为双引号。数据间分隔符为制表符,定界符为双引号。 3. 3. 表结构复制表结构复制 COPY STRUCTURE TO COPY STRUCTURE TO FIELDS FIELDS 功能:仅复制当前表的结构,

60、不复制其中的数据。功能:仅复制当前表的结构,不复制其中的数据。 若使用若使用FIELDS FIELDS 选项,则新表的结构只包含其指明的字段,选项,则新表的结构只包含其指明的字段,同时也决定了这些字段在新表中的排列次序。同时也决定了这些字段在新表中的排列次序。 例如:例如: USE rsb USE rsb COPY STRUCTURE TO rsb4 FIELDS COPY STRUCTURE TO rsb4 FIELDS 姓名姓名, ,工作日期工作日期, ,职称职称 USE rsb4USE rsb4 LIST STRUCTURE LIST STRUCTURE 2.4.2 2.4.2 逻辑表设置逻辑表设置 “选择选择”是对表的常见操作,在命令中可用是对表的常见操作,在命令中可用FORFOR子句、子句、WHILEWHILE子句或子句或FIELDSFIELDS子句来选择记录和字段。但是,仅在执行

温馨提示

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

评论

0/150

提交评论