《数据库与表的操作.ppt》由会员分享,可在线阅读,更多相关《数据库与表的操作.ppt(28页珍藏版)》请在三一办公上搜索。
1、第4章 表的建立与操作,在Visual FoxPro中几乎所有的操作都同时提供了菜单界面方式的实现和命令方式的实现,使用两种方法执行的结果是相同的。Visual FoxPro中有两种类型的表;属于数据库的表和自由表。属于数据库的表与自由表相比,有一些特殊的性质。例如,一般自由表的字段名最长不能超过10个英文字符(个汉字),而数据库的表则可以突破这一限制,使用长字段名。数据库的表可以从数据库中移去,变成自由表。反之也可。,4.1 表的创建,在Visual FoxPro中,创建一个新表分为两个步骤:(1)创建表的结构。即说明表包含哪些字段,每个字段的数据类型及长度。(2)向表中输入记录。即向表中输
2、入数据。1.表结构的设计2.表结构的创建3.表记录的添加,1.表结构的设计,表3.1“学生表”的表结构,说明:“学生表”的“XH”字段,第1、2位是年级,第3、4位是专业号,第5-7位是学号。,2.表结构的创建,1.项目管理器中选择“表”,按“新建”按钮;2.“文件”“新建”,选择“表”。备注型与通用型字段中已分别显示memo与gen 标志,意味着这两种字段用其它方法来输入或修改数据。3.命令:creat 文件名 各方式均打开表设计器。,3.表记录的添加,1.建立表结构后立即输入数据;2.打开“浏览”窗口后,“显示”“追加方式”。3.命令方式:格式一:append blank 格式二:appe
3、nd from for 格式三:INSERT BEFORE BLANK【功能】在当前表文件的指定位置插入新记录或空记录。,4.2 表的打开(1),(1)命令格式:USE(2)功能:在当前工作区中打开或关闭表,表打开时,若该表有备注型或通用型字段,则将自动打开同名的.FPT文件。,表的打开(2),(3)说明:表示被打开的表的名字;缺省表示关闭当前工作区的表(工作区的概念参阅第5部分多表操作)。打开一个表时,该工作区中原来打开的表自动关闭已打开的表总有一个记录指针,指针所指的记录称为当前记录。表刚打开时,记录指针指向第一个记录。表操作结束后应及时关闭,以便将内存的数据保存到表中。,表的关闭,(1)
4、格式:CLOSE ALL 功能:关闭所有的表。(2)格式:Close tables 功能:关闭当前数据库中所有打开的表(3)格式:USE 功能:关闭当前工作区的表。(4)格式:Close tables ALL 功能:关闭所有数据库中所有打开的表及自由表,4.3 表的修改,表的维护是指对表进行增加、删除和修改。包括表结构的维护和记录数据的维护。1.修改表的结构,方式一:菜单方式。打开表设计器方式二:命令方式:modify stru,2 表记录的修改(1),(1)编辑方式命令格式:EDIT FIELDS FOR/WHILE功能:以全屏幕编辑方式,修改当前表中满足条件的记录中指定字段的数据。,表记录
5、的修改(2),(2)浏览方式命令格式:BROWSE FIELDS功能:以全屏幕窗口方式修改当前表中的记录。,表记录的修改(3),(3)替换方式命令格式:REPLACE WITH ADDITIVE,WITH ADDITIVE FOR|WHILE 功能:在当前表的指定记录中,将有关字段的值用相应的表达式值来替换。若参数都缺省,只对当前记录的有关字段进行替换。,表记录的修改(4),说明:ADDITIVE用于备注型字段,表示将表达式值添加到字段的原有内容后,而不是取代。,4.4 表记录的删除与恢复(1),(1)逻辑删除命令格式:DELETE FOR|WHILE 功能:对当前表在指定内满足的记录加上删除
6、标记。若可选项都缺省,表示当前记录。说明:被逻辑删除的记录前将会出现“*”号。,表记录的删除(2),(2)物理删除命令格式:PACK功能:从物理上真正删除带有删除标记的记录。,表记录的删除(3),(3)逻辑删除恢复命令格式:RECALL FOR|WHILE 功能:对当前表在指定内满足的记录去掉删除标记,缺省参数则恢复当前记录。,表记录的删除(4),(4)清除命令(物理删除)命令格式:ZAP功能:物理删除当前表中的所有记录。,4.5 记录数据的浏览与显示,菜单方式:浏览、编辑命令方式:(1)命令格式:LIST|DISPLAY FIELDS 范围FOR|WHILEOFFTO PRINT PROMP
7、TTO FILE(2)功能:在表中按指定范围与条件筛选出记录并显示出来,或送至指定的目的地。,范围子句,范围子句:用来确定执行该命令涉及的记录,范围有种限定方法:ALL 所有记录NEXT(N)从当前记录起的N个记录RECORD(N)第N个记录REST 从当前记录起到最后一个记录为止的所有记录LIST 缺省范围默认为ALL。DISPLAY缺省范围表示当前记录。,FOR,条件:指定执行本命令时,只有指定范围内满足条件的记录参加操作 FOR:范围内使“条件”为真的记录都参加操作;WHILE:从当前记录开始,若使“条件”为真,则该记录参加操作,直至遇到不满足条件记录出现时停止。,FIELDS 和OFF
8、子句,FIELDS:只有出现在字段名表中的各字段参加操作,字段名表中的各字段之间以逗号隔开。OFF 子句:若要不显示记录号,可使用参数OFF。LIST和DISPLAY命令除命令动词外格式一致,功能略有区别:前者以滚动方式输出,后者则以分屏输出。,4.6 表记录的定位,绝对定位:go to top|bottom goto 相对定位:skip+|-,表结构和数据的复制复制任何类型的文件Copy file TO 注意:不能省略扩展名、不能使用通配符,文件必须关闭。如有备注字段,须同时复制表文件及备注文件才能使用,4.7表文件的复制,Copy to fieldsfor 对打开的文件有效、自动复制备注文
9、件,表结构的复制 copy stru to fields对打开的文件有效,2文件改名【格式】RENAME TO【功能】将改为。【说明】该命令类似于DOS操作系统的REN命令。改名之前文件必须关闭,正在使用的文件不能改名。如果有备注文件,对表文件改名时,不要忘记为相应的.FPT文件改名,否则打不开改名后的表。【例4-20】将STUD.DBF改为GL.DBF。USE RENAME STUD.DBF TO GL.DBF RENAME STUD.FPT TO GL.FPT,3文件删除【格式】ERASE|?或 DELETE FILE|?【功能】从磁盘上删除指定的文件。【说明】此命令类似于DOS操作系统的
10、DEL命令。如果选择参数?或缺省文件名选项,系统将弹出Open对话框,供用户选择所需删除的文件。为防止误操作,该命令不默认扩展名,所以必须用全称,不能使用通配符,如果不在目录下,则需指定路径。同时,此命令也不能删除已打开的文件。【例4-21】删除当前目录下的.BAK文件。ERASE ABC.BAK ERASE STUD.BAK DELETE FILE XSCJ.BAK DIR*.BAK,一、选择题1若当前驱动器号是C,当前目录是FoxPro,要在C盘的USER目录下创建一个名为TEACHER的表,下面不正确的命令是_。A)CREAT C:USERTEACHER.DBF B)CREAT C:US
11、ERTEACHER C)CREAT TEACHER D)CREAT USERTEACHER2用DISPLAY命令显示数据时,若未指定,则_。A)不停地显示表中的全部记录 B)显示当前一条记录 C)显示下一条记录 D)分屏显示表全部记录,思考题,3修改表结构的命令是_。A)MODIFY STRUCTURE B)EDIT STRUCTURE C)CHANGE STRUCTURE D)BROWSE STRUCTURE4若要在表中真正删除记录,先用DELETE命令,再用_。A)RECALLB)PACK C)按ESC键D)不用其他命令5若对已有记录的表文件STUD.DBF使用命令 USE STUD GO 1?BOF()则显示结果是_。A)0 B)1 C).F.D).T.,作业:,P59 第4、5、6、7题,