数据库与表的创建及使用概要课件_第1页
数据库与表的创建及使用概要课件_第2页
数据库与表的创建及使用概要课件_第3页
数据库与表的创建及使用概要课件_第4页
数据库与表的创建及使用概要课件_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

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

文档简介

1、第三章 表的创建和使用3.1 表结构3.2 表的打开与关闭3.3 记录的处理3.4 表的索引3.5 有关表操作的常用函数8/7/3.1 表 结 构字段表结构记录8/7/ 表(Table)是指存储在磁盘文件中的二维表,一张二维表保存为一个表文件(.dbf)。表文件名必须遵守Windows系统对文件名的约定外,不可用A-J中的单个字母作文件名。 表中的列称为字段(Field),它规定了数据的特征;表的行叫做记录(Record),每一条记录表示一个实体。8/7/一、表结构概述字段名字段名命名规则:名称中只能包含字母、下划线“_”、数字符号和汉字符号;名称的开头只能是字母、汉字或下划线,不能是数字;名

2、称长度为110个字符;应避免使用系统保留字。8/7/字段的数据类型数据类型字母表示说明宽度字符型C字母、汉字符号和数字型文本1-254货币型Y货币单位8数值型N整数或小数1-20浮点型*F(同数值型)1-20日期型D年,月,日8日期时间型T年,月,日,时,分,秒8双精度型*B双精度型数值8整型*I不带小数点的数值4逻辑型L真与假1备注型*M不定长的一段文本4通用型*GOLE48/7/字段的宽度小数位数空值(NULL)支持 空值是用来指示记录中的一个字段有或没有数据的标识。NULL不是一种数据类型或一个值,它是用来指示数据存在或不存在的一种属性。8/7/二、表结构的创建用“表设计器”(Table

3、 Designer)创建表结构8/7/用CREATE TABLE-SQL命令创建表结构CREATE TABLE TableName(FieldName1 FieldType (nFieldWidth,nPrecision) NULL|NOT NULL,Fieldname2)8/7/三、表结构的修改用“表设计器”(Table Designer)修改表的结构用ALTER TABLE-SQL命令修改表结构增加字段:ALTER TABLE TableName ADD COLUMNFieldName FieldType (nFieldWidth ,nPricision)8/7/修改字段:(此命令不能修改

4、字段名)ALTER TABLE TableName ALTER COLUMNFieldName FieldType (nFieldWidth ,nPricision)删除字段:ALTER TABLE TableName DROP COLUMN FieldName修改字段名:ALTER TABLE TableName RENAME COLUMN FieldName1 TO FieldName28/7/3.2 表的打开与关闭一、工作区 所谓工作区是指用于标识一张打开的表的区域。每个工作区有一个编号,称为工作区号,其编号范围为1-32747(前10个工作区号也可以用A-J表示)。如果某工作区中已有表

5、打开,可以用表的“别名”作为工作区号。 8/7/一个工作区中只能打开一张表,用户可以同时在多个工作区中打开多张表,也可以将一张表同时在多个工作区中打开。 VFP正在使用的工作区称为当前工作区,即默认工作区。SELECT nWorkArea|cTableAliasnWorkArea为工作区号;cTableAlias为表别名。工作区号为0时,选择未被使用的最小编号的工作区。8/7/二、“数据工作期”窗口在VFP主菜单上选择窗口,再选择数据工作期8/7/三、表的打开与关闭 使用表时首先必须把表打开。表的打开可以是显式地打开,也可以是隐式地打开。表的打开通过界面操作打开使用菜单命令“文件/打开”或单击

6、“常用”工具条上的“打开”按钮打开在“数据工作期”窗口中单击“打开”按钮在“项目管理器”窗口中选择需要打开的表,然后单击“修改”或“浏览”按钮8/7/使用命令打开USE TableName IN nWorkArea|cWorkAliasAGAINALIAS cTableAliasNOUPDATESHARED|EXCLUSIVE8/7/其中:IN子句用于指定在哪个工作区中打开,缺省时则表示在当前工作区中打开;AGAIN子句用于说明该表再次打开,即表在多个工作区中同时被打开;ALIAS子句用于定义表的别名,缺省时表的别名与表名相名;NOUPDATE指定表打开后不允许修改其结构和数据;SHARED指

7、定表为共享方式打开,EXCLUSIVE指定表为独占方式打开。8/7/表的关闭通过界面操作在“数据工作期”窗口中选定一张表的别名,单击“关闭”按钮。使用命令USE IN nWorkArea|cTableAlias功能:关闭指定工作区中的表。其中:不使用IN子句时关闭当前工作区的表。8/7/CLOSE TABLE功能:关闭所有工作区中的表。 CLOSE ALL功能:关闭所有的数据库、表和索引,且将当前工作区设置为1号工作区。8/7/四、表的独占与共享 VFP是一个多用户的开发环境,网络上的多个用户可以在同一时刻访问同一张表。这种一张表可以同时被多个用户访问的情况,就是表的共享使用。反之,当一张表只

8、能被一个用户打开时,称为表的独占使用。 默认状态下,表是以独占方式打开的,可以使用命令来设置打开方式。8/7/SET EXCLUSIVE OFF 设置“共享”为默认打开方式SET EXCLUSIVE ON 设置“独占”为默认打开方式 改变SET EXCLUSIVE的设置,并不能改变已经打开的表的状态。另外,一张表同时被多次打开时,只以第一次的打开方式为准。8/7/3.3 记录的处理一、记录的输入表结构创建后立即输入记录输入结束时,单击窗口的“关闭”按钮。或按Ctrl+End或Ctrl+W组合键8/7/在浏览窗口中追加记录浏览当前工作区中的表的方法单击菜单“显示”“浏览”单击菜单“窗口”“数据工

9、作期” 选择表“浏览”在命令窗口使用命令BROWSE在项目管理器中选择表单击“浏览”按钮8/7/在浏览窗口中追加记录单击菜单“表”“追加新记录”或在命令窗口中输入命令APPEND BLANK,可追加一条空白记录,且处于编辑状态等待用户输入数据单击菜单“显示”“追加方式” ,可追加多条记录单击菜单“显示” “浏览”或“显示” “编辑”,可在浏览窗口和编辑窗口间切换8/7/使用INSERT-SQL命令追加记录命令格式:INSERT INTO TableName(FieldName1,FieldName2,)VALUES (eExpression1,eExpression2,) 字段名列表用于指定插

10、入的新记录的哪些字段需要填值,缺省表示全部字段;表达式列表指定新插入记录的字段值。字段列表与表达式列表必须对应,且数据类型一致。8/7/使用APPEND与APPEND FROM命令追加记录APPEND命令格式:APPEND BLANK IN nWorkArea | cTableAlias其中:BLANK用于说明向表中追加一条空白记录; IN nWorkArea | cTableAlias用于指定表所在的工作区,缺省时为当前工作区。8/7/将其他文件中的数据导入当前工作区表中单击菜单“表” “追加记录”,可将其他文件中的数据导入当前工作区表中。常用的追回文件的文件类型有表文件(.dbf)、文本文

11、件(.txt)和Excel文件(.xls)等。或用命令:APPEND FROM FileName DELIMITED | XLSDELIMITED用于说明追加文件类型为文本文件,XLS为Excel文件,缺省时为表文件。8/7/备注型字段和通用型字段的数据输入备注型字段:在浏览窗口中,备注型字段显示“memo”(表示无内容)或“Memo”(表示有内容)。将光标移到备注型字段,按Ctrl+Home或双击该字段,在出现的编辑窗口中输入备注字段内容,结束时关闭编辑窗口。通用型字段:在浏览窗口中,通用型字段显示“gen”(表示无内容)或“Gen”(表示有内容)。将光标移到通用型字段,按Ctrl+Home

12、或双击该字段,在出现的编辑窗口中单击菜单“编辑” “插入对象”,插入内容,结束时关闭编辑窗口。8/7/二、表的浏览与定制浏览窗口BROWSE FIELDS Fieldlist FOR lExpression FREEZE FieldName NOAPPEND NODELETE NOMODIFY TITLE cExpression8/7/FIELDS子句用于指定在浏览窗口中出现的字段(字段间以逗号分隔),缺省时表示所有字段;FOR子句用于筛选记录,仅有满足条件的记录在浏览窗口中显示;FREEZE子句用于指定可以修改的字段,其他字段的数据不可修改;NOAPPEND指定不可追加记录;NODELETE

13、指定不可删除记录;NOMODIFY指定不可修改记录,但可追加或删除记录;TITLE子句指定浏览窗口的标题,缺省时为表名。8/7/记录的筛选如果用户只想查看和处理满足一定条件的一部分记录,可以对表记录进行筛选。通过FOR子句的使用可以完成筛选功能;当表处于浏览状态时,单击菜单“表”“属性”打开“工作区属性”对话框,设置“数据过滤器”,可以对记录进行筛选;使用命令:SET FILTER TO lExpression其中:条件表达式lExpression用于指定记录需要满足的条件,省略时即取消筛选8/7/限制对字段的访问在浏览或使用表时,如果只打算显示或处理部分字段,或以设置字段筛选来限制对某些字段

14、的访问。通过FIELDS子句的使用可以完成筛选功能;当表处于浏览状态时,单击菜单“表”“属性”打开“工作区属性”对话框,设置“字段筛选”,可以对字段进行筛选;使用命令:SET FIELDS TO FieldList其中:字段名表FieldList用于列出所需的字段(字段名间用逗号分隔),省略时即取消筛选8/7/三、记录的定位记录指针 当一张表打开后,系统自动地为该表生成三个控制标志:记录的开始标志、记录指针标志、记录的结束标志。记录指针标志用于指示当前处理的记录位置,记录指针指向的那个记录称为“当前记录”。每当打开一个表文件时,记录指针总是指向第1条记录。8/7/格式:RECNO(nWorkA

15、rea)功能:返回指定工作区中指针所指记录的记录号,缺省任选项表示当前工作区。格式:BOF(nWorkArea)功能:测试指定工作区中指针是否指向记录的开始标志,如是,则返回.T.,否则为.F.,缺省任选项表示当前工作区。格式:EOF(nWorkArea)功能:测试指定工作区中指针是否指向记录的结束标志,如是,则返回.T.,否则为.F.,缺省任选项表示当前工作区。8/7/记录的定位记录指针的绝对定位:把指针移到指定位置。记录指针的相对定位:把指针从当前位置开始,相对于当前记录向前或向后移动若干条记录位置。记录指针的条件定位:按照一定的条件自动地在整张表(或表的某个指定范围)中查找符合条件的记录

16、,如找到符合条件的记录,则把指针定位到该记录上,否则,指针将指向表的末尾。8/7/通过界面操作方式定位 当表处于浏览状态时,记录的定位可以利用菜单命令“表”“转到记录”进行,也可以直接在浏览窗口中通过鼠标操作或键盘上的光标移动操作。All:表中的全部记录Next n:从当前记录开始的n条记录Record n:记录号为n的记录Rest:当前记录及其后的所有记录8/7/使用命令进行记录定位绝对定位GOTO nRecordNumber IN nWorkArea|IN cTableAlias|TOP|BOTTOM其中:记录号nRecordNumber必须在表记录的有效范围内;TOP指首记录;BOTTO

17、M指末记录。相对定位SKIP nRecordsIN nWorkArea|cTableAlias其中:nRecordNumber用于指定记录指针需要移动的记录个数(正表示向后移动,负表示向前移动),缺省时为1。8/7/条件定位LOCATE FOR lExpression ScopeCONTINUE其中:条件表达式lExpression用于表示记录的定位条件;范围Scope用于指定进行条件定位的范围。CONTINUE命令表示从当前记录开始继续进行条件定位,即找到下一条满足条件的记录。8/7/四、记录的修改界面方式的记录修改 对于当前工作区中的表,可以在浏览窗口(或编辑窗口)中对记录进行修改。 如需

18、对所有记录(或满足某种条件的记录)的某个字段内容进行有“规律”的修改,则可进行“批量修改”。在游览状态下,利用菜单命令“表” “替换字段”对话框,在该对话框中选择和输入字段替换的有关要求。(如下图所示)8/7/界面方式的记录修改(续)8/7/使用命令修改记录REPLACE命令REPLACE FieldName1 WITH eExpression1 ADDITIVE,FieldName2 WITH eExpression2 ADDITIVEScope FOR lExpression功能:对当前工作区中的表进行替换修改。其中:字段名FieldName与表达式eExpression用于指定要更新的字

19、段以及这些字段的新值;ADDITIVE仅对备注型字段有效,使用时表示替换的内容追加到原备注中,否则替换原有内容;当FOR和Scope同时缺省时,仅对当前记录进行替换。8/7/UPDATE-SQL命令UPDATE TableName SET Column_Name1=eExpression1 ,Column_Name2=eExpression2,WHERE FilterCondition功能:对指定表的内容进行替换修改。其中:表名TableName用于指定要更新记录的表;Column_Name=eExpression用于指定要更新的字段以及这些字段的新值;WHERE子句用于指定要更新的记录,缺省

20、时表示所有记录。需要说明的是,用该命令更新表时,被更新的表不必事先打开。8/7/五、记录的删除 彻底删除表中的部分记录,分两个步骤:首先标记要删除的记录,然后彻底删除带删除标记的记录。标记要删除的记录(逻辑删除)采用界面操作方式 在浏览状态下,用鼠标单击“删除标记列”或完成删除标记的切换,或在记录定位后利用菜单命令“表”“切换删除标记”来完成;或用菜单命令“表” “删除记录”,打开“删除”对话框,可删除指定范围内的一组符合指定条件的记录。8/7/采用命令方式格式:DELETE Scope FOR lExpression IN nWorkArea|cTableAlias其中:缺省工作区或工作表别

21、名时,指当前工作区中的表;当范围和条件同时缺省时,仅对当前记录加删除标记。有条件无范围时为ALL。格式:DELETE FROM TableName WHERE FilterCondition其中:TableName为表名,缺省条件时为所有记录,此DELETE-SQL命令可在不预先打开表的情况下删除指定记录。8/7/恢复带删除标记的记录采用界面操作方式 在浏览状态下,用鼠标单击“删除标记列”或完成删除标记的切换,或在记录定位后利用菜单命令“表”“切换删除标记”来完成;或用菜单命令“表” “恢复记录”,打开“恢复记录”对话框,可恢复指定范围内的一组符合指定条件的记录。采用命令方式格式:RECALL

22、 Scope FOR lExpression 其中:当范围和条件同时缺省时,仅恢复当前记录。有条件无范围时为ALL。8/7/彻底删除记录(物理删除)采用界面操作方式 在浏览状态下,用菜单命令“表” “彻底删除” ,可彻底删除带有删除标记的记录。采用命令方式格式:PACK 功能:物理删除带删除标记的记录格式:ZAP功能:删除当前工作区中所打开表中的所有记录注意:物理删除后记录不可恢复。8/7/对带有删除标记的记录的访问格式:SET DELETED ON|OFF功能:指定VFP是否对有删除标记的记录进行处理其中:ON表示忽略有删除标记的记录;OFF(系统默认)表示允许访问有删除标记的记录。8/7/

23、六、数据的复制 利用COPY TO命令可以将表(在当前工作区中已打开)中的数据复制到其他表文件或其他类型的文件中。格式:COPY TO FileName FIELDS FieldList Scope FOR lExpression TYPE SDF|XLS|DELIMITED WITH Delimiter|WITH BLANK| WITH TAB|WITH CHARACTER Delimiter8/7/其中:FileName:指定COPY TO要创建的新文件名。FIELDS FieldList:指定要复制到新文件的字段,省略则为全部字段。Scope:指定要复制到新文件的记录范围,省略为ALL。

24、FOR lExpression:指定要复制的记录需满足的条件。最后一个选项:指定复制生成的文件类型,缺省则为表文件。8/7/七、数据的统计 格式:COUNT Scope FOR lExpression TO VarName功能:统计指定范围内满足条件的记录数。格式:SUM nExpression Scope FOR lExpression TO VarName功能:对指定范围内满足条件记录的数值表达式进行求和。8/7/格式:AVERAGE nExpression Scope FOR lExpression TO VarName功能:对指定范围内满足条件记录的数值表达式进行求平均值。其中: TO

25、 VarName是将统计结果在屏幕上显示的同时保存到指定的内存变量中,缺省则不保存,只在屏幕上显示; nExpression为指定要进行求和或求平均值的表达式,缺省则为全部数值型字段8/7/3.4 表的索引一、记录的顺序物理顺序:表中的记录通常是按其办公输入的时间顺序存放的,这种顺序称为记录的物理顺序。逻辑顺序:表中的记录可按某个字段值或某些字段值排序,这种顺序称为逻辑顺序。8/7/二、索引概述索引:索引是根据索引关键字的值进行逻辑排序的一组指针,它提供了对数据的快速访问,且可以对表中的各条记录强制实现唯一性。索引关键字:索引关键字是建立索引的依据,它通常是一个字段或由多个字段组成 的表达式。

26、索引标识:索引的名称。8/7/索引的类型候选索引(Candidate Index):候选索引是以表的候选关键字为索引表达式而创建的索引。注意:对于表的所有记录来说,指定的索引表达式的值不可重复。主索引(Primary Index):对于数据库表来说,可以从候选索引中选取一个作为该表的主索引。每张数据库表只能创建一个主索引。普通索引(Regular Index):普通索引的索引表达式的值允许出现重复,一张表可以创建多个普通索引。唯一索引(Unique Index):唯一索引的索引表达式的值也可以重复,但在索引文件中重复的值仅存储一次。8/7/索引文件的种类结构复合索引文件(Structure C

27、ompound Index)非结构复合索引文件(Non-structure Compound Index)独立索引文件(Independent Index)8/7/三、创建结构复合索引用“表设计器”创建结构复合索引8/7/用命令创建结构复合索引格式:INDEX ON eExpression TAG TagName FOR lExpression ASCENDING|DESCENDING UNIQUE|CANDIDATE 其中:eExpression为索引表达式;TagName为索引标识;FOR子句用于筛选参加索引的记录; ASCENDING和DESCENDING用于指定索引是按升序还是降序排序,缺省时为升序; UNIQUE和CANDIDATE用于指定索引文件类型为唯一索引还是候选索引,缺省时为普通索引。(书本上该命令有误,请同学们改一下!)8/7/四、索引的修改和删除索引的修改用表设计器修改索引用命令修改索引索引的删除用表设计器删除索引8/7/用命令删除索引格式:DELETE TAG TagName1 ,TagName2,功能:删除结构复合文件中指定的索引格式:DELETE TAG ALL功能:删除结构复合索引文件中的所有索引,并从磁盘上删除该索引

温馨提示

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

评论

0/150

提交评论