您好,欢迎访问三七文档
第四章表的交互式操作1.创建表2.表结构的操作3.表记录的操作4.表的排序与索引5.表的统计与汇总6.表的投影于选择操作7.多表操作8.文件操作数据库表:数据库中包含的表。自由表:独立于数据库的表。4.1创建表4.1.1表的要素三要素:表文件名、表结构、表的记录。(1)表文件名表文件名可使用不超过255个字符(可含空格,但不能包括\、/、:、*、?、”、、、|)的文件名称。或使用中文名。数据表的扩展名:.dbf(2)表结构表结构用来定义关系模式,它是通过对表中各个字段的特征参数的定义来实现的。字段名(fieldname):又称字段变量,命名规则与内存变量命名规则一致,但,必须以字母或数字开头,中间不能有空格。自由表中长度不超过10个字符,数据库表中不超过128个英文字符。字段类型(fieldtype):与数据类型一致。字段宽度(fieldlength):字符型:1~254个字符;数值型:1~20个字符。其他类型由系统确定。数值型字段宽度包括小数点和正负号。精度(fielddec):只有数值型数据需要定义精度,即小数点位数。小数点位数至少要比字段宽度小2。(3)表的记录记录是表中字段值的集合,一条记录最多可以有255个字段。4.1.2创建表结构创建表是指建立表结构和向表录入记录的操作。(1)利用表设计器创建表结构使用命令:createfilename|?使用项目管理器:modifyprojectproname(2)利用表向导创建表结构步骤:file-new-table-wizard(3)利用SQL命令创建表结构Createtable|dbftablename(fieldname1fieldtype[(nfieldwidth[,nprecision])],fieldname2…)4.1.3向表中录入数据(1)利用菜单交互式录入打开表-browse-append-逐条输入(2)利用SQL命令录入格式:insertintodbfname[(fieldname1[,fieldname2,…])]values(eExpression1[,eExpression2,…])4.1.4记录的显示(1)菜单方式Usetablename-view-browse(2)命令方式List|display[[fields]fieldlist][scope][forlExpression1][whilelExpression2][off][noconsole][nooptimize][toptinter[prompt]|tofilefilename[additive]]4.2表结构的操作表结构的操作,分为结构显示、结构修改、结构复制三方面内容。4.2.1表的打开和关闭(1)菜单:(2)命令:Use[tablename|?][exclusive][shared][noupdate](3)命令方式关闭表方式1:use方式1:closedatabase|all4.2.2表结构的显示(1)利用表设计器(2)利用命令Display|liststructure[toprinter[prompt]|tofilefilename[additive]][noconsole]4.2.3表结构的修改(1)利用表设计器(2)利用SQL命令向表中添加一个字段或修改某个字段的属性:Altertabletablenameadd|alter[column]fieldnamefieldtype[(nfieldwidth[,nPrecision])][null|notnull]从表中删除一个字段:Altertabletablenamedropfieldname为表中某个字段更名:Altertabletablenamerenameoldnametonewname4.2.4表结构的复制(1)复制表结构Copystructuretotablename[fieldsfieldlist][[with]cdx|[with]production][databasecDatabasename[namecTablename]](2)将表结构复制成结构描述文件Copystructureextendedtofilename[databasedatabadename][fieldsfieldlist](3)利用表描述文件创建表Createnewtableneme[databasedatabasename]fromext_tablename24.3表记录的操作4.3.1记录指针定位(1)记录指针(2)命令方式下的记录指针定位绝对定位:[go]nrecordnumber相对定位:skip[nrecords]逻辑定位:gotop|bottom记录查询定位:指对表记录根据物理顺序或逻辑顺序从第一条记录开始向下查找,将记录指针定位在满足条件的第一条记录上,或确定无满足条件的记录。Locate[scope][forlexpression1][nooptimize]定位测试函数:found()找到:T,未找到:F继续查找:continue(3)菜单方式下的记录指针定位Table菜单项4.3.2记录的追加在现有记录的基础上,再给表的最后一条记录之后添加上新的记录。(1)命令方式单条记录追加:append[blank]成批添加:appendfromtablename[filedsfieldlist][forlexpression](2)菜单方式4.3.3记录的插入向两条记录之间插入。格式:instert[before][blank]4.3.4修改记录数据(1)命令修改全屏幕编辑修改:Edit[fieldsfieldlist][scope][forlexpression1][whilelexpression2][fontcfontname[,nfontsize]][stylecfontstyle][freezefieldname]浏览修改:替换修改:replacefieldname1withexpression1[addtive][,fieldname2withexpression2[addtive][scope][for][while](2)菜单修改5.3.5浏览窗口的使用(1)Browse命令Browse[fieldsfieldlist][fontcfontname[,nfontsize]][stylecfontstyle][for][freeze][locknNumberOfFields][noappend][nodelete][noedit][nomodify][titlectitletext][valid[:F]lexpression2[errorcMessageText]][whenlexpression2](2)浏览器窗口的外观4.3.6记录的删除两步:作删除标记(逻辑删除)、彻底删除(物理删除)。(1)逻辑删除Delete[scope][for][while](2)setdelete命令用来指定VFP在进行操作时,是否对加了删除标记的记录继续操作。Setdeleteoff|on(3)逻辑删除记录的恢复Recall[scope][for][while](4)物理删除记录pack[memo|dbf][tablename](5)清空表记录内容zap[innWorkarea|cTableAlias](6)菜单方式下的记录删除与恢复4.4表的排序与索引4.4.1表的排序Sorttotablenameonfieldname1[/a|/d][/c][,fieldname2[/a|/d][/c][ascending][descending][scope][for][while][fieldsfieldnamelist|fieldslikeskeleton|fieldsexceptskelton][nooptimize]排序后生成新表。4.4.2索引概述(1)索引的概念按照某个关键表达式的值,对表进行逻辑排序,称为索引。关键表达式可以是字段、字段的组合、记录号函数。(2)索引文件类型单索引文件:一个索引文件只允许包含一个索引。扩展名.idx。特点:可以与表同时打开,也可以独立打开;索引次序仅有升序;存储形式:压缩、非压缩。复合索引文件:一个索引文件可以包含多个索引。其中的每一个索引称为复合索引文件的一个标记,等价于单索引。扩展名:.cdx。以压缩形式存储结构复合索引:与表文件同名。非结构复合索引:与表文件不同名。(3)索引的类型按索引关键字的值是否允许重复及表允许索引个数来划分。常用的是哪种类型:主索引:索引关键表达式的值可唯一标识每一个记录的索引。库表可建立。候选索引:索引关键表达式可唯一标识每一个记录。库表和自由表均可。普通索引:关键表达式可标识多个记录。重复存储。4.4.3创建索引(1)菜单方法通过表设计器进行。(2)命令方法Indexonexpressiontoidxfilename|tagtagname[binary][collatecCollatesquence][ofcdxfilename][for][compact][ascending|descending][unique|candidate][addtive]4.4.4打开与关闭索引(1)主控索引当一个表创建了多个索引,在某一时刻,只有一个索引对显示和操作次序起控制作用,这个索引称为主控索引。(2)索引文件的打开与关闭索引文件与表同时打开:Use[[[databasename!]tablename|?][innworkarea|ctablealias][indexindexfilelist|?[order[nindexnumber|idxfilename|[tag]tagname[ofcdxfilename][ascending|descending]][aliasctablealias][exclusive][shared[noupdate]索引文件的单独打开:Setindexto[indexfilelist|?][order……..索引文件的关闭:UseSetindextoCloseindexes4.4.5设置主控索引Setorderto[[nindexnumber|idxindexfilename|[tag]tagname[ofcdxfilename]……..4.4.6索引查询在表文件中查询满足条件的记录的过程。有两种方式:顺序查询、索引查询。(1)seek命令Seekexpression[ordernindexnumber|………(2)seek函数Seek(expression[,nindexnumber|cidxindexfilename|ctagname]])4.5表的统计与汇总操作4.5.1计数操作(在表中统计满足条件的记录的条数)Count[scope][forlexpression1][whilelexpression2][tovarname][nooptimize]4.5.2求和操作(对表中的数值型字段或数值型表达式,进行纵向求和)Sum[nexpressionlist][scope][forlexpression1][whilelexpression2][tomemavrnamelist|toarrayarrayname][nooptimize]4.5.3求平均数(对表中的数值型字段或数值表达式,进行纵向求算术平均的操作)Average[nexpressionlist][scope][forlexpression1][whilelexpression2][tovarlist|t
本文标题:4.表的交互式操作
链接地址:https://www.777doc.com/doc-4052144 .html