第八章+SQL语言_第1页
第八章+SQL语言_第2页
第八章+SQL语言_第3页
第八章+SQL语言_第4页
第八章+SQL语言_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、第八章 SQL语言SQL(structured Query Language)语言,中文名是结构化查询语言,它的理论基础是基于关系代数与关系演算。其语法简洁,功能极为强大和全面,自推出以来被广泛采用,历经多次改进、完善以及标准工作。其地位更加稳固,现已成为关系数据的标准语言。它主要包括查询、数据定义、数据操纵和数据控制等功能。8.1 SQL简介 最早的SQL标准是于1986年10月由美国ANSI(American National Standards Institute)公布的。随后,ISO(International Standards Organization)于1987年6月也正式采纳它

2、为国际标准,并在此基础上进行了补充,到1989年4月,ISO提出了具有完整性特征的SQL,并称之为SQL89。SQL89标准公布之后,对数据库技术的发展和数据库的应用都起到了很大的推动作用。尽管如此,SQL89仍有许多不足或不能满足应用需求之处。为此,在SQL89的基础上,经过三年多的研究和修改,ISO于1992年11月又公布了SQL的新标准,即SQL92。SQL92标准将其内容分为三个级别,即基本级、标准级和完全级。但SQL92标准也不够完备,且正在进行修改,考虑增加对象数据的支持能力等。SQL语言的特点: SQL是一种一体化的语言,包括了数据定义、数据查询、数据操纵和数据控制等方面的功能,

3、它可以完成数据库活动中的全部工作。以前非关系模型的数据语言一般包括存储模式描述语言、概念模式描述语言、外部模式描述语言和数据操纵语言等,这种模型的数据语言,一是内容多,而是掌握和使用起来都不象SQL那样简单、实用。SQL语言是一种高度非过程化的语言,它没有必要一步步的告诉计算机“如何”去做,而只需要描述清楚用户要做“什么”,SQL语言就可以将要求交给系统,自动完成全部工作。 SQL语言非常简洁,虽然SQL语言功能很强,但它只有为数不多的几条命令(下面将要介绍)。另外,SQL的语法也非常简单,它很接近英语自然语言,因此容易学习和掌握。SQL语言可以直接以命令方式交互使用,也可以嵌入到程序设计语言

4、中以程序方式使用。现在很多数据库应用开发工具都将SQL语言直接融入到自身的语言之中,使用起来更方便,Visual FoxPro就是如此。这些使用方式为用户提供了灵活的选择余地。此外,尽管SQL的使用方式不同,但语法基本是一致的。Visual FoxPro在SQL方面支持数据定义、数据查询和数据操作功能,但在具体实现方面也存在一些差异。8.2 SELECTSQL查询功能在第四章介绍了查询的创建和使用,本节主要介绍SQL语句的使用,SQL语句是实现管理信息系统中查询和统计的核心语句,可在自身的语言之中直接使用。8.2.1SELECTSQL的格式及作用SQL的核心是查询,它的基本形式由SELECTF

5、ROMWHERE查询块组成,多个查询块可以嵌套执行。该命令的语法格式如下:SELECTALL|DISTINCT TOP nExprPERCENT Alias.Select_ItemAS Column_name,Alias. Select_Item AS Column_nameFROMFORCEDatabasename! Table ASLocal_Alias INNER|LEFTOUTER|RIGHTOUTER|FULLOUTERJOIN Databasename!tableASLocal_Alias ON JoinCondation INTO Destination|TO FILE File

6、NameADDITIVE|TO PRINTERPROMPT|TO SCREENPREFERENCE PreferenceNameNOCONSOLEPLAINNOWAITWHERE JionCondationAND JoinConditionAND|OR FilterConditionAND|OR FilterConditionGROUP BY GroupColumn,GroupColumn HAVING FilterConditionUNION ALL SELECTCommandORDER BY Order_ItemASC|DESC, Order_ItemASC|DESC要掌握看起来复杂的SE

7、LECT命令,就必须从它的命令中各个短语的含义入手,具体含义如下:SELECT ALL|DISTINCT 参数中的ALL或DISTINCT只选择其一,其中ALL将筛选出满足给定条件的所有记录;DISTINCT将筛选出满足给定条件的记录,但排除记录相同的重复行。TOP nExprPERCENT指定在查询结果里包含的行(记录)数或百分比。其中指定所包含的记录数,其范围是132,767,指定百分比,其范围是0.0199.99。Alias.Select_ItemAS Column_name中的Select_Item参数指定查询结果中的每一项,它可以是字段名、字段名表达式以及常量。若Select_Ite

8、m是一个常量,那么查询结果中的每一行都出现该常量值。AS Column_name参数指定查询结果中的每一项的标题。若Select_Item是一个字段,那么Alias.指明该字段所在表的别名。FROMFORCEDatabasename! Table ASLocal_Alias参数指定查询所使用的表,Local_Alias为表指定一个临时名,若指定了本地别名,那么在SELECTSQL语句中都必须用这个别名代替表名。使用FORCE表示数据表按FROM子句出现的顺序联接。INNER|LEFTOUTER|RIGHTOUTER|FULLOUTERJOIN Databasename!table ASLoca

9、l_AliasON JoinCondation表示指定联接的类型及联接字段表达式。INTO Destination表示设置查询的输出结果集。结果集可以是下列形式之一:ARRAYArrayName 数组CURSOR CursorNameNOFILTER临时表 TABLETableName 指定表TO FILE FileNameADDITIVE|TO PRINTERPROMPT|TO SCREEN表示分别将查询结果送到一个文本文件、打印机和屏幕中去。PREFERENCE PreferenceName表示当输出方向为【浏览】窗口时保存该窗口的属性,以便下一次调用。NOCONSOLE表示在将查询结果输

10、出到文本文件或打印机上去的同时禁止在屏幕上显示查询结果。PLAIN表示禁止列标头出现在查询结果上。NOWAIT表示在将查询结果输出到浏览器窗口中去后,允许程序继续执行。WHERE JionCondationAND JoinConditionAND|OR FilterConditionAND|OR FilterCondition参数用以设置多表连接条件以及筛选条件。GROUP BY GroupColumn,GroupColumn 用以设置分组汇总依据。 HAVING FilterCondition 用以设置分组筛选条件。UNION ALL SELECTCommand 表示与另一个SELECTSQ

11、L命令相联接。ORDER BY Order_ItemASC|DESC, Order_ItemASC|DESC用以设置查询结果排序依据。Visual FoxPro允许用户为SELECTSQL命令添加注释,具体操作如下:在系统菜单上选择【查询】中的【注释】,Visual FoxPro弹出“注释”对话框。在“注释”对话框中,键入有关的注释说明。单击【确定】按钮,Visual FoxPro会将键入的注释添加到SQL只读窗口的顶层。8.2.2基本查询由SELECT和FROM短语构成无条件查询,或由SELECT、FROM和WHERE短语构成的条件查询。【例8.1】从学籍表中检索籍贯。Select jg f

12、rom d:vfp_examplexj从查询结果可以看出有重复值,如果要去掉重复值只需要指定DISTINCT短语,即select distinct jg from d:vfp_examplexj【例8.2】从学籍表中检索出所有记录值。select * from d:vfp_examplexj其中“*”是通配符,表示所有属性,即字段,这里的命令等同于:select xh,xm,nl,xb,csrq,jg,jtzz,rxcj,bj,tyf,bz,zp from d:vfp_examplexj【例8.3】从学籍表中检索出所有入学成绩在350以上的同学的姓名、家庭住址。select xm,jtzz f

13、rom d:vfp_examplexj where rxcj=350其中,WHERE短语指定了查询条件,查询条件可以是任意复杂的表达式。当有WHERE子句时,系统首先根据指定的条件依次检索关系中的每个元组,然后选出满足条件的元组(相当于关系的选择操作),并显示SELECT子句中指定属性的值(相当于关系的投影操作)。从运行结果中可以看出,查询窗口中出现的是字段名,读者很难理解,为此若要将英文字母表示的字段名如XM,JTZZ显示成汉字,只需要使用AS短语即可, select xm as 姓名,jtzz as 家庭住址 from d:vfp_examplexj where rxcj=350【例8.4

14、】从学籍表中检索出所有入学成绩在350以上,并且是团员的同学。select xm as 姓名,jtzz as 家庭住址 from d:vfp_examplexj where rxcj=350 and tyf注:“tyf”是逻辑型字段,可以直接做为表达式使用。【例8.5】从学籍表中检索出所有1985年出生的团员。select xm as 姓名,csrq as 出生日期 from d:vfp_examplexj where tyf and year(csrq)=19858.2.3联接查询联接查询是一种基于多个关系的查询。【例8.6】检索出总分在300分以上同学的出生日期。在这个例题中,总分在CJ关

15、系中,出生日期在XJ关系中,因此隐含了两个关系,两个关系是一对一的联系,使用时只需将FROM后的两个关系用“,”逗号隔开,若关系中有相同的属性名时,在属性名前加关系名,且属性名和关系名中间用“.”小数点隔开。具体执行命令如下:select cj.xm,zf,csrq from d:vfp_examplecj,d:vfp_examplexj wher zf300 and xj.xh=cj.xh【例8.7】检索出1985出生的同学的总分。select cj.xm,zf,csrq from d:vfp_examplecj,d:vfp_examplexj; wher year(csrq)=1985 a

16、nd xj.xh=cj.xh注:在上述两个例子中,xj.xh=cj.xh是联接条件。“;”是续行符号。8.2.4查询中的运算符在进行更复杂、涉及更多关系的检索时,要用到几个特殊的运算符,它们是BETWEENAND和LIKE等。【例8.8】检索出总分在280到300分之间的同学。select xm,zf from d:vfp_examplecj wher zf between 280 and 300这里zf between280 and300的意思是总分在“280和300”之间,等价于(zf280),只是用zf between280 and300表示条件更清晰、更简洁。【例8.9】检索出学籍表中

17、姓“张”的同学。select xm from d:vfp_examplexj wher xm like张%这里的LIKE是字符串通配运算符,通配符“%”表示0个或多个字符,另外还有一个通配符“”表示一个字符。【例8.10】找出不是团员的所有同学。select xm,tyf from d:vfp_examplexj wher !tyf在SQL中“不等于”用“!”表示。另外还可以用否定运算符NOT。8.2.5 多级查询对于多关系的查询,要求结果出自一个关系,但相关的条件却涉及多个关系,上面的例子中,WHERE之后是一个相对独立的条件,这个条件或者为真、或者为假。但是有时需要用另外的方式来表达检索的

18、要求,比如,当检索关系X中的元组时,它的条件依赖于相关的关系Y中的元组属性值,这里使用SQL的嵌套查询功能将非常方便,下面通过实例说明。【例8.15】祖籍是哪些地方的同学的总成绩在300分以上。这个例子要求查询学籍表中的籍贯信息,而查询条件是成绩表中总分在300分以上的同学,因此可以用多级查询来实现。sele xm as 姓名,jg as 籍贯from d:vfp_examplexj ;wher xh in (selec xh from d:vfp_examplecj wher zf300)8.2.6 排序用SQL语句可以将查询结果进行排序,排序的短语是ORDERBY,下面通过实例说明排序的具

19、体应用。【例8.16】检索出总分在290分以上的同学,并按总分由高到低进行排序。sele xm as 姓名,zf as 总分from d:vfp_examplecj wher zf290 order by zf DESC注:其中ZF是排序的依据,DESC表示按降序排列,若要按升序排列可选用ASC或两个都不选。 ORDERBY是对最终的查询结果进行排序,不可以在子查询中使用该短语。允许按一列或多列排序。从上例中可以看出,有两个同学的总分相同,为此还可以对查询结果按第二属性进行排序。检索出总分在290分以从上例中可以看出,有两个同学的总分相同,为此还可以对查询结果按第二属性进行排序。【例8.17】

20、检索出总分在290分以上的同学,并按总分由高到低进行排序,若有相同总分再按VFP由高到低进行排序。sele xm as 姓名,zf as 总分from d:vfp_examplecj wher zf290 order by zf DESC,vfp DESC8.2.7 计算查询SQL语句是完备的,只要数据是按关系方式存入数据库的,就能通过合适的SQL命令把它检索出来。事实上,SQL不仅具有一般的检索能力,而且还有计算能力的检索,如检索某门课程成绩的最高分、平均值等。用于计算检索的函数有:COUNT计数SUM求和AVG计算平均值MAX求最大值MIN求最小值【例8.11】求出学籍表中所有团员的数目s

21、ele count(tyf) as 团员人数from d:vfp_examplexj【例8.12】统计成绩表中语文的平均分、最高分、最低分。sele AVG(Yw) as 语文平均,max(Yw); as 语文最高分,min(Yw) as; 语文最低分from d:vfp_examplecj【例8.13】求出成绩表中数学的总成绩。sele SUM(sx) as 数学总分from d:vfp_examplecj注:SUM、COUNT、AVG、MAX、MIN这五个计算检索的函数只用于关系中列的计算,不能进行关系中行的计算。【例8.14】统计总分在300分以上的人数,并求其平均值。sele coun

22、t(zf) as 人数,AVG(zf) as; 平均from d:vfp_examplecj wher zf3008.2.8分组与计算查询除了对整个关系进行查询外,利用GROUPBY子句可以进行分组计算查询。分组查询时可以按一列或多列分组,还可以用HAVING进一步限定分组的条件。下面是几个分组计算查询的例子。【例8.18】统计学籍表中每个班同学的人数。sele bj as 班级,count(bj) as 班级人数;from d:vfp_examplexj group by bj注:在这个查询中,首先按BJ属性进行分组,然后统计每个班的人数,GROUP BY一般跟在WHERE之后,没有WHER

23、E子句时,跟在FROM子句之后。【例8.19】统计学籍表中入学成绩大于等于350的每个班同学的人数。sele bj as 班级,count(bj) as 班级人数;from d:vfp_examplexj wher rxcj=350 group by bj【例8.20】统计学籍表中入学成绩大于等于350的每个班同学的人数,且班级人数不少于2。sele bj as 班级,count(bj) as 班级人数;from d:vfp_examplexj wher rxcj=350 ;group by bj having count(*)=2。注:HAVING子句总是跟在GROUPBY子句之后,不可以单

24、独使用,HAVING子句和WHERE子句不矛盾,在查询中是先用WHERE子句限定元组,然后进行分组,最后再用HAVING子句限定分组。8.2.9超联接查询在新的SQL标准中还支持两个新的关系联接运算符,它们与我们原来所了解的等值联接和自然联接不同。原来的联接是只有满足联接条件,相应的结果才会出现在结果表中,而这两个新的联接运算是,首先保证一个表中满足条件的元组都在结果表中,然后将满足联接条件的元组与另一个表的元组进行联接,不满足联接条件的则应来自另一表的属性值且置为空值。在一般SQL中超联接运算符是“*=”和“*”。其中“*=”称为左联接,含义是在结果表中包含第一个表中满足条件的所有记录;如果

25、有在联接条件上匹配的元组,则第二个表返回相应的值,否则第二个表返回空值;而“=*”称为右联接,含义是在结果表中包含第二个表中满足条件的所有记录;如果有在联接条件上匹配的元组,则第一个表返回相应值,否则第一个表返回空值。注:Visual FoxPro不支持超联接运算符“*=”和“=*”, Visual FoxPro有专门的联接运算语法格式,它支持超联接查询,具体格式如下:SELECT FROM table INNER|LEFT|RIGHT|FULL JOIN tableON JoinconditionWHERE 其中:INNER JOIN等价于JOIN,为普通联接,在Visual FoxPro中

26、称为内部联接。LEFT JOIN为左联接。RIGHT JOIN为右联接。FULL JOIN 可以称为全联接,即两个表中的记录不管是否满足联接条件将都在目标表或查询结果中出现,不满足联接条件的记录对应部分为NULL。ON Joincondition指定联接条件。从以上格式可以看出,它的联接条件在ON短语中给出,而不在WHERE短语中,联接类型在FROM短语中给出。下面通过实例说明具体应用。【例8.21】内部联接,即只有满足联接条件的记录才出现在查询结果中。sele xj.xm,zf,xb from d:vfp_examplexj join d:vfp_examplecj on xj.xh=cj.

27、xh该命令与下列两种命令格式等价:sele xj.xm,zf,xb from d:vfp_examplexj inner join d:vfp_examplecj on xj.xh=cj.xh和sele xj.xm,zf,xb from d:vfp_examplexj ,d:vfp_examplecj wher xj.xh=cj.xh【例8.22】左联接,即除满足联接条件的记录出现在查询结果中外,第一个表中不满足联接条件的记录也出现在查询结果中。sele xj.xm,zf,xb from d:vfp_examplexj left join d:vfp_examplecj on xj.xh=cj

28、.xh【例8.23】右联接,即除满足联接条件的记录出现在查询结果中外,第二表中不满足联接条件的记录也出现在查询结果中。sele xj.xm,zf,xb from d:vfp_examplexj ;right join d:vfp_examplecj on xj.xh=cj.xh【例8.24】全联接,即除满足联接条件的记录出现在查询结果中外,两个表中不满足联接条件的记录也出现在查询结果中。sele xj.xm,zf from d:vfp_examplexj ;full join d:vfp_examplecj on xj.xh=cj.xh注:JOIN联接格式在联接多个表时的书写方法要特别注意,在

29、这种格式中JOIN的顺序和ON的顺序是很重要的,特别要注意JOIN的顺序和ON的顺序(相应的联接条件)正好相反。8.2.10集合的并运算条件SQL支持集合的并(UNION)运算,即可以将两个SELECT语句的查询结果通过并运算合成一个查询结果。为了进行并运算,要求这样的两个查询结果具有相同的字段个数,并且对应字段的值要出自同一个值域,即具有相同的数据类型和取值范围。【例8.25】检索学号为和的姓名、总分、家庭住址信息。sele xm,jtzz,xh from d:vfp_examplexj wher xh=;union sele xm,jtzz,xh from d:vfp_examplexj

30、wher xh=8.2.11查询结果输出下面介绍SELECT的查询结果输出选项。1、 显示部分结果有时只需要满足条件的前几个记录,这里使用TOPNExprprecent短语非常有用,其中NExpr是数字表达式,当不使用precent时,NExpr是1到32676间的整数,说明显示前几个记录;当使用precent时,NExpr是0.01到99.99间的实数,说明显示结果中前百分之几的记录。注:TOP短语要与ORDER BY短语同时使用才有效。【例8.26】检索总分在290分以上的记录,同时显示前4名。sele xm,zf from d:vfp_examplecj wher zf290 order

31、 by zfDESC top 42、 将查询结果存放在数组中可以使用INTOARRAYArrayName短语将查询结果存放到数组中,ArrayName可以是任意的数组变量名。一般将存放查询结果的数组作为二维数组来使用,每行一条记录,每列对应于查询结果的一列,查询结果存放在数组中,可以非常方便的在程序中使用。【例8.27】检索出学籍表中的女同学,并将结果存放在数组中。程序代码:close allcleardimension name(4,2)sele xm,xb from d:vfp_examplexj wher xb=女 ;into array namefor i=1 to 4for j=1

32、to 2?name(i,j)if j=2 ?endifendforendfor先定义数组NAME,并将查询结果存放到数组NAME中,NAME(1,1)存放的是第一条记录的姓名字段值,NAME(1,2)存放的是第一条记录的性别字段值,NAME(2,1)存放的是第二条记录的姓名字段值,NAME(2,2)存放的是第二条记录的性别字段值,依次类推,即可将所有查询结果存放到对应的数组元素中,通过循环将保存在数组中的查询结果每行显示两个值输出。3、 将查询结果存放在临时文件中使用短语INTOCURSORCursorName可以将查询结果存放到临时数据库文件中,其中CursorName是临时文件名,该短语产

33、生的临时文件是一个只读的DBF文件,当查询结束后该临时文件是当前文件,可以像一般的DBF文件一样使用。当关闭文件时该文件将自动删除。在数据库操作时,一些复杂的汇总可能需要分阶段完成,需要根据几个中间结果再汇总,这时利用该短语存放中间结果就非常合适,当使用完成后,这些临时文件会自动删除。【例8.28】从成绩表中检索数学不及格的同学,并将结果存放到临时文件TEMP中。程序代码:close allclearsele xm,sx from d:vfp_examplecj;wher sx60 into cursor tempbrows将查询结果存放到临时文件TEMP中,通过BROWSE命令浏览临时文件T

34、EMP中存放的结果。4、 将查询结果存放到永久表中使用短语INTODBFTABLETableName可以将查询结果存放到永久表中(DBF文件)。【例8.29】检索学籍表中祖籍是天水的同学的入学成绩,并将结果保存到表RXCJ中。程序代码:close allclearsele xm,rxcj from d:vfp_examplexj;wher substr(jg,5,4)=天水;into table rxcj order by rxcj DESCbrows将祖籍是天水的同学的入学成绩存放到永久表RXCJ中,并按入学成绩由高到低排序,通过浏览命令查看查询结果,即使关闭文件,RXCJ还可以使用,不会自

35、动删除。5、 将查询结果存放到文本文件中使用短语TOFILEFleNameADDITIVE可以将查询结果存放到文本文件中,其中FileName给出文本文件名(默认扩展名是txt),如果使用ADDITIVE选项,结果将追加在原文件的尾部,否则将覆盖原有文件。【例8.30】检索英语成绩前三名的同学,并将姓名、英语成绩存放到文本文件中。程序代码:close allclearsele xm,yy from d:vfp_examplecj; to file yyjs order by yy DESC top 3 其中,yyjs是文本文件,扩展名为.txt,保存检索结果。6、 将查询结果直接输出到打印机使

36、用短语TOPRINTPROMPT可以直接将查询结果输出到打印机,如果使用PROMPT选项,在开始打印前会打开打印机设置对话框。【例8.31】将VFP成绩前5名的同学的成绩打印输出。程序代码:close allclearsele xm,vfp from d:vfp_examplecj; to print order by vfp DESC top 58.2.12其它短语1、 PREFERENCEPreferenceName如果查询结果送往浏览窗口,就可以使用PREFERENCE保存浏览窗口的属性和选项以备后用。PREFERENCE把特征属性或参数选项长期保存在FOXUSER的资源文件中,任何时候

37、都可以对它们进行检索。第一次执行有PREFERENCEPreferenceName的SELECT命令时创建参数选项,以后执行时有相同参数选项名的SELECT命令时便将浏览窗口恢复到原来的参数选项状态,当浏览窗口关闭时,更新参数选项。如果按CTRLQ退出浏览窗口,对浏览窗口所作的更改将不保存到资源文件中。2、 NOCONSOLE不显示送到文件、打印机或Visual FoxPro主窗口的查询结果。3、 PLAIN防止列标题出现在显示的查询结果中,不管有无TO子句都可以使用PLAIN子句。如果SELECT语句中包含INTO子句,则忽略PLAIN子句。4、 NOWAIT打开浏览窗口并将查询结果输出到这

38、个窗口后继续程序的执行,程序并不等待关闭浏览窗口,而是立即执行紧接在SELECT语句后面的程序行。SELECT命令中包括TO SCREEN,可以把查询结果定向输出到Visual FoxPro主窗口或用户自定义窗口。如果显示时Visual FoxPro主窗口或用户自定义窗口中写满了一屏,就暂停输出,按任意键可以查看查询结果后面的内容。但是,如果命令中包括了NOWAIT子句,显示查询结果时就不会暂停等待按键,而是在Visual FoxPro主窗口或用户自定义窗口中连续滚过所有内容。如果命令包含有INTO子句,可忽略NOWAIT子句。8.3SQL的 插入、更新、删除操作SQL的操作功能是指对数据库中

39、数据的操作功能,主要包括数据的插入、更新和删除三个方面的内容。8.3.1插入 Visual FoxPro有两种SQL插入命令格式,第一种是标准格式,第二种格式是Visual FoxPro的特殊格式。格式1:INSERT INTO dbf_name(fname1,fname2,) VALUES(eExpression1,eExpression2,)作用:向dbf_name指定的表中插入记录值,当插入的不是完整的记录时,可以用fname1,fname2,指定字段,用VALUES(eExpression1,eExpression2,)给出具体的记录值。格式2:INSERT INTO dbf_name

40、 FROM ARRAY ArrayName|FROM MEMVAR作用:从指定的数组ArrayName中插入记录值或根据同名的内存变量来插入记录值,如果同名的变量不存在,那么相应的字段为默认值或空值。【例8.32】在成绩表中插入元组(,王浩,89,78,79,98,0,0)insert into d:vfp_examplecj value(,王浩,89,78,79,98,0,0)【例8.33】在学籍表中插入“闫浩”,入学成绩是398。程序代码:close allinser into d:vfp_examplexj(xm,rxcj);value(闫浩,398)brows【例8.34】检索出学籍表中的女同学,并将结果存放在数组中,然后将检索结果再插入到学籍表的备份中。程序代码:close allcleardimension name(4,2)sele xh,xm from d:vfp_examplexj wher xb=女;into array namecopy structure to d:vfp_examplexjbffor i=1 to 1for j=1 to 1insert into d:vfp_examplexjbf from array name(i,j)endforendforselect * from d:vfp_examplexjbf【例8.35】将第一条记

温馨提示

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

评论

0/150

提交评论