您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 第三章表的创建和使用
第三章表的创建和使用3.1VFP6.0表1.表的概念表(数据表):是指存放在磁盘文件中的一张二维表。(相当FoxPro2.x版本中的数据库)自由表:不属于任何数据库的表。数据库表:包含在一个数据库中的表。表文件名:表名可以由字母、数字或下划线组成,系统自动给出的扩展名为.DBF。备注文件名:当表中有备注型或通用型字段时,系统自动生成与所属数据表的表名相同、扩展名为:.FPT的文件名。表结构:存储表记录的公共结构。(就是指一张表的表头结构,即字段的属性)。记录:表中的一行。它是多个字段的集合,同一张表的每个记录都有相同的字段。字段:表中的一列。它规定了数据的特征。关系型数据表的特点:(1)每一个字段不可再分解,也不能有名字相同的字段;(2)每一列中的数据都有相同的数据类型;(3)表中没有内容完全相同的行(记录)。2.字段的基本属性字段的属性:包括:字段名、数据类型、字段宽度、小数位数、空值支持字段名:即每个字段的名字,必须以字母开头,可由字母、数字、下划线组合而成,字母大、小写无区别,但其中不许有空格或其它字符。自由表的字段名最多由10个字符组成,数据库表的字段名支持长名,最多可达128个字符。如果从数据库中移去一个表,那么此表的长字段名将被截短成10个字符。VFP允许长字段名和长表名,但使用长名称对于跨平台的操作可能遇到难以预料的结果。数据类型:指该字段的数据特征。字段宽度:指该字段所能容纳数据的的最大字节数。小数位数:指数值型数据将保留几位小数。此时的字段宽度=整数位数+1+小数位数。NULL值(空值):无明确的值。NULL值不等同于零或空格。一个NULL值不能认为比某个值(包括另一个NULL值)大或小,相等或不同。VFP6.0表中字段的数据类型字段类型代号说明字段宽度使用示例字符型C字母、汉字和数字型文本每个字符为1个字节,最多可有254个字符学生的学号或姓名,8199101或'李立'货币型Y货币单位8个字节工资,$1246.89日期型D包含有年、月和日的数据8个字节出生日期,{^1980/07/08}日期时间型T包含有年、月、日、时、分、秒的数据8个字节上班时间,{^2005/02/209:15:15AM}逻辑型L“真”或“假”的布尔值1个字节课程是否为必修课,.T.或.F.数值型N整数或小数在内存中占8个字节;在表中占1至20个字节考试成绩,83.5双精度型B双精度浮点数8个字节实验要求的高精度数据浮点型F与数值型一样整型I不带小数点的数值4个字节学生的数量通用型GOLE对象在表中占4个字节图片或声音备注型M不定长度的一段文字在表中占4个字节学生简历字符型(二进制)C任意不经过代码页修改而维护的字符数据每个字符用1个字节,最多可有254个字符备注型(二进制)M任意不经过代码页修改而维护的备注数据在表中占4个字节3.表的基本操作表的创建:设计表名和表结构、输入记录、建立索引数据维护:增加记录、修改记录、删除记录创建表的主要步骤:设计表结构→输入记录→建立索引→数据维护4.关于表操作的几个基本命令命令格式功能CREATE表文件名创建一个新的自由表的结构USE表文件名打开指定的表文件USE关闭当前表文件LISTALL显示当前表的全部记录内容(类似于DOS命令中的dir)DISPLAYALL分屏式地显示当前表的全部记录内容(类似于DOS中的dir/p)DISPLAYSTRUCTURE显示当前表的结构(分屏显示)LISTSTRUCTURE显示当前表的结构(不分屏显示)MODIFYSTRUCTURE调出表设计器,修改当前表的结构。CLEAR清除主窗口中的所有内容注意:(1)必须先打开所需的数据表才可进行以上操作;(2)当带有命令子句时,只对指定的记录进行操作;(3)LIST命令的默认范围是所有记录,DISPLAY命令的默认范围是当前记录。3.2表结构的创建和修改1.表结构的创建创建表结构其实就是设计字段的基本属性。可以使用表设计器、表向导或SQL命令来创建表结构。(1)使用表设计器创建表[图例]步骤:从文件菜单中单击新建→在新建对话框中选择表并单击新文件→在创建对话框中给出文件名并确定所需的保存位置→在表设计器对话框中逐个输入所需字段(用↓或鼠标换行),全部字段输入完成后单击确定。(2)使用表向导创建表步骤:从文件菜单中单击新建→在新建对话框中选择表并单击向导→在表向导中做第1步:选取字段,完成后单击下一步→在表向导中做第1a步:选择数据库,完成后单击下一步→在表向导中做第2步:修改字段设置,完成后单击下一步→在表向导中做第3步:为表建索引,完成后单击下一步→在表向导中做第4步:完成,选择表的保存方法,完成后单击完成→在另存为对话框中给出文件名并确定所需的保存位置。注意:先选择一个与待建数据表类似的样表,再从中挑选出所需的部分字段,然后在下一步根据实际需要修改或直接采用原字段的宽度。(3)使用CREATETABLE-SQL命令该命令的一般格式为:CREATETABLE|dbf表文件名(字段名1字段类型[(字段宽度[,小数位数])][,字段名2字段类型[(字段宽度[,小数位数])]]……)例:CREATETABLExscj(xhc(8),xmc(6),xbc(2),;cjn(5,1),ksrqd)2.表结构的修改(1)用表设计器修改用菜单调出表设计器:打开所需的表文件→单击显示菜单中的表设计器→在表设计器对话框中对字段进行修改→修改完毕单击确定并在消息框中选择是。用命令调出表设计器:USE表文件名MODIFYSTRUCTURE(2)使用ALTERTABLE-SQL命令功能命令格式示例添加字段ALTERTABLExscjADDCOLUMNkcmcC(14)重命名字段ALTERTABLExscjRENAMECOLUMNkcmcTOkc删除字段ALTERTABLExscjDROPCOLUMNkc3.3表记录的处理1.记录的输入(1)立即输入方式:设计好表的结构后,系统会提示是否直接进入数据输入状态。若选是,则进入编辑窗口,输完后单击“X”按钮退出,系统自动存盘。需输入备注型或通用型字段的数据时,双击“memo”或“gen”,在新打开的编辑窗口中输入所需内容,输完后单击“X”按钮系统自动存盘,退回到原窗口,此时字段中的“memo”或“gen”变成“Memo”或“Gen”。(2)追加方式:若设计好表的结构后并没有及时输入数据,则可以用追加方式:从文件菜单中(或从命令窗口中输入:USE表文件名)打开所需表文件→从显示菜单中选择浏览→再从显示菜单中选择追加方式→在浏览窗口中输入所需记录。不同追加方式适用的场合追加记录的方式适用的场合显示菜单中的追加方式在现有数据表的尾部添加一个或多个新记录表菜单中的追加新记录在现有数据表的尾部添加一个新记录表菜单中的追加记录…从其它数据表中将符合要求(字段名和字段类型相同)的记录添加在当前数据表的尾部APPEND[BLANK]在当前表的末尾自动添加一个或多个新记录。相当于显示菜单中的追加方式。有BLANK时添加一个空记录,相当于表菜单中的追加新记录。APPENDFROM表文件名[FIELDS字段名1,字段名2…][FOR条件]从其它数据表中将符合要求(字段名和字段类型相同)的记录添加在当前数据表的尾部。相当于表菜单中的追加记录…。APPENDFROM文本文件名SDF将符合要求的文本文件全部追加在当前数据表的尾部。注意:文本内容要与表中的字段结构相适应。文件菜单中的导入将其它类型的文件转换成一个完整的VFP数据表。(3)使用INSERT-SQL命令该命令的一般格式为:INSERTINTO表名[(字段名1[,字段名2…])]VALUES(表达式1[,表达式2…])例:INSERTINTOxscj(xh,xm,cj)VALUES(81991001,张良,85.5)2.记录的浏览(1)通过浏览窗口(2)通过BROWSE命令BROWSE命令用来打开表的浏览窗口,可通过不同的子句来实现对特定记录的浏览。VFP命令中的常用子句1)范围子句子句格式功能ALL表示对表文件的全部记录进行操作NEXTn表示对从当前记录开始的共n个记录进行操作,n为正整数RECORDn指明操作对象是表文件的第n号记录REST对从当前记录起到文件结尾的全部记录进行操作2)FOR子句用于指明进行操作的条件。格式:FOR条件指明只对指定范围中那些符合给定条件的进行当前操作。例如:listNEXT6FORcj853)WHILE子句也用于指明进行操作的条件。格式:WHILE条件例如:listNEXT6WHILEcj854)FIELDS子句用于指明当前的操作涉及到表文件的哪些字段。格式:BROWSE[FIELDS字段名1,字段名2……]例如:BROWSEFIELDSxh,xm,cj3.记录的定位(1)系统对记录的三个控制标志记录开始标志:位于第一个记录之前。其值用函数BOF()进行测试。记录指针标志:指向当前记录。其值用函数RECNO()进行测试。记录结束标志:位于最后一个记录之后。其值用函数EOF()进行测试。记录指针可以理解为保存当前记录号的变量,它的初始值总是1,不可能为0或负数,最大值是表中记录总数+1。刚打开表时记录指针的情况表中记录情况BOF()的值RECNO()的值EOF()的值无记录.T.1.T.有记录.F.1.F.(2)记录的定位方式绝对定位:是指把指针移到指定的位置。相对定位:是指把指针从当前位置开始,相对于当前记录向前或向后移动若干个记录位置。条件定位:是指按一定的条件在整张表或表的某个指定范围中查找符合该条件的记录。通过菜单进行定位从表菜单中选择转到记录:记录号——实现绝对定位定位…——实现条件定位通过命令进行定位记录的定位命令格式功能备注绝对定位GOTOP将记录指针定位到表文件之首或GOTOTOPGOBOTTOM将记录指针定位到表文件之尾或GOTOBOTTOMGOn将记录指针定位到指定的n号记录相对定位SKIPn将记录指针从当前记录向上或向下移动n个n为正值则向下移动n为负值则向上移动无n向下移动1个条件定位LOCATEFOR条件[范围]按顺序搜索表,直到找到满足指定条件的第一个记录默认范围是所有记录4.记录的修改和删除一张表用非只读方式打开后,即可通过菜单在浏览窗口(或编辑窗口)中或从命令窗口中用命令直接对其记录进行编辑、修改和删除。(1)菜单方式修改记录:从表菜单中选择替换字段…→在替换字段对话框中选择待替换的字段并构造出替换表达式及替换条件→替换。删除记录:从表菜单中选择删除记录→在删除对话框中选择删除范围和删除条件→单击删除按钮→从表菜单中选择彻底删除→在消息框中单击是。删除记录包括两步:标记要删除的记录和彻底删除带删除标记的记录恢复带删除标记的记录:从表菜单中选择恢复记录→在恢复记录对话框中选择作用范围和条件→单击恢复记录按钮。(2)SQL命令方式(表事先可以不打开,适用于编程工作方式)修改记录:用UPDATE-SQL命令。命令格式:UPDATE表名SET字段1=表达式1[,字段2=表达式2…];WHERE条件表达式例:UPDATExscjSETcj=cj*1.05WHEREcj80删除记录:用DELETE-SQL命令。命令格式:DELETEFROM表名[WHERE条件表达式]例:DELETEFROMxscjWHEREcj60(3)在命令窗口中用VFP命令:命令格式功能备注插入INSERT[BLANK][BEFORE]在当前表的指定位置上插入一个空记录或若干新记录BLANK:在当前记录后插入一个空记录BEFORE:在当前记录之前插入若干新记录修改CHANGE[FIELDS字段名1,…][FOR条件][LEDIT][REDIT]在编辑窗口显示要修改的字段LEDIT:调出编辑窗口REDIT:调出浏览窗口替换REPLACE字段名1WITH表达式1[ADDITIVE][,字段名2WITH表达式2[ADDITIVE]…][范围][FOR条件]把字段值用指定的表达式进行替换。
本文标题:第三章表的创建和使用
链接地址:https://www.777doc.com/doc-2182939 .html