表与数据库的基本操作.ppt
《表与数据库的基本操作.ppt》由会员分享,可在线阅读,更多相关《表与数据库的基本操作.ppt(80页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、第四章第四章 表与数据库的基本操作表与数据库的基本操作 4.1 概述4.1.1 VFP表的相关知识 在VFP中,表是处理数据,建立关系数据库和应用程序的基本单元,它用来存储收集来的各种信息。表由若干行与若干列组成,表中的每一行称为一个记录,每一列称为一个字段。在计算机内存储为一个表文件,其扩展名为.DBF。 VFP管理的表分为自由表和数据库表。在逻辑上不与其他表发生联系而单独管理的独立表称为自由表;将相互联系的若干个表放入一个数据库容器内进行管理,这些表称为数据库表。数据库表与自由表相比增加了特殊的功能和属性,如可以使用长表名和长字段名,可以为表中的字段设置默认值,可以设置字段、记录的有效性规
2、则,可以设定表间的永久关系等。4.1.2 VFP命令格式及使用规则命令格式及使用规则1)命令格式)命令格式VFP命令通常由两部分组成。第一部分是命令动词,指明了该命令的功能。第二部分是跟随在命令动词后面的短语,这些短语通常用来对所要执行的命令进行某些限制性的说明。命令一般格式如下: ,2)命令短语)命令短语命令动词规定要执行的操作,而命令短语指出操作的的范围、条件、字段、结果输出位置等内容。命令短语又称为子句。见下表: 命令短语具体内容含义子句ALL表示数据表的所有记录RECORD n指定第n条记录NEXT n从当前记录开始的n条记录REST从当前记录到文件结束的所有记录FIELDS子句FIE
3、LDS说明操作数据表的各字段名,之间用“,”隔开。不选择该子句,则命令对表中所有字段进行操作FOR子句FOR见下面说明 WHILLE子句WHILLE见下面说明 TO PRINTER|TO FILE子句TO PRINTER |TO FILE 选择时,结果输出到打印机或文件,否则输出到屏幕 说明:说明: FOR子句 FOR 的作用是:在规定的范围中,按条件检查全部记录,即从第一条记录开始,满足条件的记录就执行该命令,不满足就跳过该记录,继续搜索下一记录,直到最后一条记录。若省略则默认为ALL。 WHILE子句WHILE 的作用是:在规定的范围中,只要条件成立,就对当前记录执行该命令,并把记录指针指
4、向下一条记录,一旦遇到使条件不满足的记录,就停止搜索并结束该命令的执行。即遇到第一个不满足条件的记录时,就停止执行该命令,即使后面还有满足条件的记录也不执行。若省略范围则默认为REST。3) 命令及子句的使用规则命令及子句的使用规则VFP的命令有的比较短,而有的则相当长,书写时应遵循如下规则:(1) 任何命令必须以命令动词开头,而命令中的各个子句可以按任意次序排列,各个子句以一个或多个空格隔开。(2) 一条命令的最大长度为254个字符,一行写不下时,可以使用“;”续行。(3) 命令动词和子句的动词可以用其前4个字母缩写表示。例如DISPLAY可写成DISP。但从程序的可读性来考虑,不提倡略写命
5、令动词。(4) 命令中的字符大小写可以混合使用,系统不区分大小写,为了美观,可以将命令关键字大写,而其他内容小写。 4.2数据表的创建及其基本操作数据表的创建及其基本操作 4.2.1表结构及字段的基本要素1.表的结构在VFP中,存储数据的表和经常使用的表格基本相似,表中的列代表记录中的字段(Field),字段包含字段名和字段值。所有字段名的集合构成了表的第一行(表头),即数据表的结构(Structure);所有字段值的集合分别构成了表的每一行,即表的记录(Record)。2表中存储数据的数据类型 为了正确存储数据、处理数据和有效利用存储空间,创建表时必须定义字段的数据类型。字段的数据类型有13
6、种3字段的基本要素(1)字段名 字段名是表中列的名称,是数据库的变量,即字段变量。对表和数据库操作时,可根据字段名引用表中数据。字段的命名应满足以下要求: 字段名由字母、汉字、数字及下划线组成,但必须以字母或汉字开头,中间不能有 空格; 数据库表的字段名最长为128个字符(自由表字段名长度不得超过10个字符)。(2) 字段类型和宽度 字段类型决定存储在字段中的值的数据类型,字段宽度决定存储数据的宽度和取值范围。VFP中可使用的字段类型如表4.3中所示,常用的有字符型、数值型、日期型、逻辑型、备注型、通用型等几种。(3)空值(NULL) 选择是否允许字段为空。字段空值与空字符串、数值0具有不同的
7、含义,是指尚未输入具体数值的数据。如果字段不允许为空,则输入数据时必须输入相应的数据,否则被设置为默认值(例如,数值型被默认为0)。允许字段为空时,可暂时不输入数据,而且不会出错。(4)显示控制(数据库表所具有的属性) 用来定义字段的显示格式、输入掩码和字段标题。格式为字段在表单、浏览窗口等界面中的显示格式;输入掩码用来限制或控制用户输入的格式,以避免一些错误格式的输入;而标题可以设定字段名显示时的文字内容,默认为字段名。(5)字段有效性检验(数据库表所具有的属性) 用来定义字段的有效性规则、违反规则的提示信息和字段的默认值。有效性检验可以防止用户输入错误数据。(6)字段注释(数据库表所具有的
8、属性) 为字段添加注释便于数据库维护。注释只起提示作用,不会对具体操作带来任何影响。4.2.2 表的创建表的创建 在VFP中数据表的建立有下列方法:一种方法是使用表设计器;另一种方法是使用表向导。无论是使用表设计器,还是用表向导,都必须遵循以下步骤进行:创建表结构。输入记录。1)创建表结构 表结构的设计可以通过VFP提供的【表设计向导】和【表设计器】来实现,也可以用SQL命令来建立表的结构。 (1)启动表设计器可以用下述方法启动表设计器:1用菜单方式启动表设计器 VFP启动后,在主窗口的【文件】菜单中选择【新建】命令,则出现一个新建对话框,如图4.3所示。 然后从该对话框中选中【表(T)】按钮
9、,再单击【新建文件】按钮,弹出创建对话框。在【输入表名】文本框中输入新建数据表的表名(例如输入dab),选择保存类型为“表/DBF(.dbf)”,单击【保存】按钮,即启动表设计器对话框。 2用Create命令启动表设计器命令格式:命令格式:Create 说明说明:为指定要创建的表名,包括路径信息。例如在命令窗口中输入“Create c:dab.dbf”,按回车键就可启动表设计器。创建的表(dab.dbf)将保存在C盘根目录下。(2)创建表结构启动表设计器后,通过表设计器能方便地设计出符合自己需要的表结构。2)输入记录数据表结构建立好后,就可以向数据表中输入记录了。VFP提供了两种记录输入方式:
10、 立即输入方式。 追加输入方式。 命令格式命令格式:APPEND BLANK 功能:功能:在当前表的末尾追加新记录。4.2.3 表的打开与关闭表的打开与关闭1)表的打开 可以通过下述方法来打开表文件:(1)用菜单打开表从【文件】菜单中选择【打开】命令,进入【打开】对话框,在【文件类型】列表中选取“表(*.dbf)”项,再选择所要打开的表文件,单击【确定】按钮后就打开选中的表。表文件打开后,就可以对其进行操作,如浏览表中的记录,向表中追加新记录,修改表结构等操作。(2)用USE 命令打开表命令格式:命令格式:USE IN 工作区号|Alias功能:功能:打开一个表文件。 2)表的关闭对数据表的操
11、作完成后,应将表关闭,关闭表有多种命令。(1)关闭当前工作区打开的表。命令格式:命令格式:USE说明:说明:USE命令后不跟任何子句时,则关闭当前工作区打开的表。(2)关闭当前打开的所有表:CLOSE ALL命令命令格式:命令格式: CLOSE ALL功能:功能:关闭所有打开的数据库;关闭所有工作区中的表和索引,并选择1号工作区为当前工作区。CLEAR ALL命令 命令格式:命令格式:CLEAR ALL功能:功能:关闭所有工作区中打开的表,选择1号工作区为当前工作区,同时释放所有内存变量。4.2.4表中记录的显示当数据表建立好后,必要时需要显示(查看)数据表中的内容,显示数据表中的记录可通过下
12、列操作完成。1)菜单操作(1)浏览显示从【文件】菜单中选择【打开】命令,打开要浏览显示的数据表;从【显示】菜单中选择【浏览】命令;2)命令操作DISPLAY 命令和LIST 命令用于将当前表中的记录显示到VFP的主窗口或用户自定义窗口中。命令格式:命令格式:LIST| DISPLAY FIELDS FOR | WHILE OFF TO PRINTER PROMPT|TO FILE v 【例4.2】 在VFP主窗口中显示学生档案表(dab.dbf)中的全部记录。在命令窗口中输入下列命令序列: USE dab &打开dab.dbf表 LIST Use &关闭dab.dbf表 在主窗口中显示结果如下
13、图所示v 【例4.3】显示学生档案表(dab.dbf)中机械制造4班的所有女学生的记录,且只显示学号、姓名、性别、出生日期和专业班级字段,不显示记录号。在命令窗口中输入如下命令序列: use dab disp all FOR 专业班级=机械制造4班 and 性别=女 fields 学号,姓名,性别,出生日期,专业班级off use 在主窗口中显示结果如右图所示4.2.5记录指针的定位记录指针的定位1)记录指针的概念一个数据表文件中可能包含成千上万条记录,要对哪一条记录操作,就存在记录定位的问题。在VFP中,对任何打开的数据表文件,都提供了一个记录指针,用于完成记录的定位。记录指针指向的记录称为
14、当前记录。对表中记录的操作一般都是针对当前记录进行的。刚打开的数据表,记录指针总是指向第一条记录(首记录),对数据表的操作将改变记录指针的位置,例如用LIST命令显示表中的全部记录后,记录指针指向数据表的末尾。每一个数据表都有开始和结尾标志,可以用BOF()函数和EOF()函数来测试,根据函数的返回值“.T.”或“.F.”判断记录指针的位置。2)记录指针的定位(移动)在建立数据表时,每条记录都有一个编号,称为记录号,记录号是依据输入记录的顺序从1开始编号。对记录指针的定位,实际上就是将记录指针移到相应的记录号上。移动记录指针的方法有菜单操作方式和命令操作方式两种。(1)菜单操作方式(2)命令操
15、作方式1记录指针的绝对移动绝对移动是将记录指针直接定位到指定的记录上。命令格式:命令格式:GOTO |TOP|BOTTOM功能:功能:将记录指针定位到指定的记录上。说明:说明:的值指明记录号,即直接按给定的记录号定位。选择TOP或BOTTOM则分别将记录指针定位到表文件的首、尾记录上。 v 【例4.4】用GO命令移动学生档案表(dab.dbf)中的记录指针。在命令窗口输入如下命令序列: USE dab GO 5 &记录指针指向记录号为5的记录 GO TOP &记录指针指向首记录 GO BOTTOM &记录指针指向尾记录 use2记录指针的相对移动命令格式:命令格式:SKIP 功能:功能:以当前
16、记录为基准向上或向下移动记录指针。 说明:说明:的值指明记录指针移动的相对记录数;若为负数时,则表示记录指针向上移动,否则向下移动。缺省,则记录指针向下移动1条记录。v 【例【例4.5】用】用SKIP命令移动学生档案表命令移动学生档案表(dab.dbf)中的记录指中的记录指针。在命令窗口输入如下命令序列:针。在命令窗口输入如下命令序列: USE dab GO 5 SKIP 3 &指针从当前记录开始向下移动指针从当前记录开始向下移动3条记录条记录 SKIP &指针从当前记录开始向下移动指针从当前记录开始向下移动1条记录条记录 SKIP -2 &指针从当前记录向上移动指针从当前记录向上移动2条记录
17、条记录 Use43 表的编辑与维护表的编辑与维护431 数据表的修改1)表结构的修改在VFP中,利用表设计器来修改表结构。具体操作为:打开需要修改结构的表文件。再从【显示】菜单中选择【表设计器】命令,则进入表设计器对话框。在表设计器对话框中修改表的各字段要素的值(如字段名,数据类型等)。 也可以在命令窗口中输入命令来启动表设计器,然后对表结构进行修改。 启动表设计器的命令为:MODIFY STRUCTURE 功能:功能:打开表设计器,修改表结构。2)记录数据的修改)记录数据的修改(1)使用菜单命令修改记录)使用菜单命令修改记录(2)用)用BROWSE命令修改记录命令修改记录该命令有许多控制记录
18、显示的子句,这里仅介绍它的常用命令格式。该命令有许多控制记录显示的子句,这里仅介绍它的常用命令格式。命令格式:命令格式:BROWSE FIELDS FOR 功能:在浏览窗口显示记录。修改数据更为方便。功能:在浏览窗口显示记录。修改数据更为方便。(3)用)用REPLACE命令修改记录命令修改记录命令格式:命令格式:REPLACE 范围范围 WITH ADDITIVE, WITH ADDITIVEFOR|WHILE 功能:更新表的记录内容。功能:更新表的记录内容。v 【例【例4.6】 用用BROWSE命令对学生档案表(命令对学生档案表(dab.dbf)中的记录进行修改。)中的记录进行修改。要求按指
19、定的姓名要求按指定的姓名,性别性别,专业班级,学号字段顺序显示。专业班级,学号字段顺序显示。 USE dab BROWSE FIELDS 姓名姓名,性别性别,专业班级专业班级,学号学号 显示结果如下图所示。显示结果如下图所示。v 【例【例4.7】 用用Replace命令对学生档案表(命令对学生档案表(dab.dbf)进行如下)进行如下操作操作:将机械制造将机械制造4班所有同学的班所有同学的“专业班级专业班级”字段的数据清空。字段的数据清空。 USE dab Replace ALL 专业班级专业班级 WITH for 专业班级专业班级=机械制造机械制造4班班 LIST4.3.2 插入记录前面介绍
20、的APPEND命令是将记录追加到数据表末尾,如果想在两条记录之间插入记录,只能在命令窗口中用插入记录命令来实现。命令格式:命令格式:INSERT BLANK BEFORE功能:功能:在当前记录之后或之前插入一条记录。说明:说明: BLANK:表示插入一条空白记录,无此选项时,进入全屏幕编辑状态。 BEFORE:表示在当前记录之前插入,否则在当前记录之后插入。v 【例4.8】 在学生档案表(dab.dbf)中,要求在3号与4号记录之间插入1条空白记录。在命令窗口中输入如下命令: use dab go 4 insert blank before4.3.3记录的删除与恢复在VFP中,删除记录是经过两
21、步完成的。第一步是给要删除的记录加上删除标记,称为逻辑删除,作了逻辑删除标记的记录并没有真正从数据表中删除,以后还可以恢复;如果要真正删除表中的记录,应执行第二步,删除带有删除标记的记录,称为物理删除。1)记录的逻辑删除(1)使用菜单命令对记录作逻辑删除标记(2)用命令对记录作逻辑删除命令格式:命令格式:DELETE 范围 FOR|WHILE 功能:功能:对当前数据表中在指定范围内满足条件的记录作逻辑删除。若缺省范围和FOR| WHILE 选项,则只对当前记录作逻辑删除。v【例4.10】对学生档案表(dab.dbf)中的记录作如下操作:v 对姓名为“那措央中”的记录作逻辑删除。命令序列为: U
22、SE dab DELE FOR 姓名=那措央中 LIST & 查看删除效果 USE &关闭表v对学生档案表(dab.dbf)中专业班级是“计算机1班”和“机械制造4班”的所有记录作逻辑删除。命令序列为: USE dab DELE FOR 专业班级=计算机1班 OR 专业班级=机械制造4班 ALL LIST & 查看删除效果 USE 2)记录的恢复)记录的恢复(1)使用菜单命令取消逻辑删除标记(2)使用命令取消逻辑删除标记命令格式:命令格式:RECALL 范围FOR 功能:功能:恢复数据表中指定范围内满足条件的已有逻辑删除标记的记录。3)记录的物理删除前面介绍的删除记录只是为记录加上一删除标记(
23、即逻辑删除),并未真正从数据表中删除该记录。如果要将这些记录真正从数据表中删除就称为物理删除。(1)使用菜单命令删除作了逻辑删除标记的记录(2)使用命令删除作了逻辑删除标记的记录命令格式:命令格式:PACK MEMO DBF功能:功能:从当前表中永久删除作了逻辑删除标记的记录,减少与该表相关的备注文件所占用的空间,即物理删除。4)清空数据表命令命令格式:命令格式:ZAP功能:功能:从表中删除所有记录,只保留表的结构。说明:说明: ZAP 命令等价于 DELETE ALL 和 PACK 联用,但 ZAP 速度更快。 如果 SET SAFETY 为 ON,VFP 会提示是否要从当前表中删除记录。
24、发出 ZAP 命令,不会引发删除触发器。有关为表创建触发器的详细内容,将在后面介绍。4.3.4 表的复制表的复制1)表结构的复制命令格式:命令格式:COPY STRUCTURE TO FIELDS 功能:功能:将当前数据表的结构复制到指定的数据表文件中去,新表的字段数和字段顺序由“FIELDS ”子句决定。2)表记录的复制命令格式:命令格式: COPY TO FIELDS FOR|WHILE 功能:功能:将当前表中在指定范围内满足条件的记录,按指定的字段复制生成一新表文件。4.3.4 表的复制表的复制v 【例【例4.14】 把学生档案表把学生档案表(dab.dbf)中的学号、姓名、性别、专中的
25、学号、姓名、性别、专业班级字段复制成一个新表业班级字段复制成一个新表XSXX.DBF,新表中只包含结构定义,新表中只包含结构定义,而不包含记录数据。命令序列为而不包含记录数据。命令序列为: USE dab COPY STRU TO XSXX FIEL 学号学号,姓名姓名,性别性别,专业班级专业班级 USE XSXX &打开打开XSXX表表 LIST STRU &显示显示XSXX表的结构表的结构4.3.4 表的复制表的复制v 【例【例4.15】 将将dab表中专业班级为表中专业班级为“计算机计算机1班班”的所有学生的记录的所有学生的记录按学号、姓名、性别、专业班级字段顺序复制到一新数据表文件按学
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 基本 操作
限制150内