【文档说明】《VisualFoxPro数据库基础》第7章:数据查询与视图设计课件.ppt,共(85)页,910.512 KB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-6045.html
以下为本文档部分文字说明:
http://www.wenyuan.com.cn/webnew/第7章数据查询与视图设计(时间:4次课,8学时)http://www.wenyuan.com.cn/webnew/第7章数据查询与视图设计◼
教学提示:建立数据库保存数据的目的是为了使用数据为决策提供依据,而检索数据和更新数据是对数据最基本也是最常见的操作。本章主要介绍查询和视图的设计以及结构化查询命令的使用。◼本章主要介绍:查询的创建方法;视图的创
建方法;查询和视图的区别;VisualFoxPro的SQL命令的使用;查询设计器各选项卡的设置与SQL_Select子句的对应关系。http://www.wenyuan.com.cn/webnew/第7章数据查询与视图设计◼7.1查询◼7.2视图◼7.3SQL命令◼7.4查询程序设计实例◼7.5
上机指导◼7.6习题http://www.wenyuan.com.cn/webnew/7.1查询◼7.1.1查询设计器简介◼7.1.2创建单表查询◼7.1.3创建多表查询◼7.1.4创建交叉数据表◼7.1.5运行查询htt
p://www.wenyuan.com.cn/webnew/7.1查询使用查询设计器可以创建查询,实现数据检索。VisualFoxPro的查询设计器提供了一种直观而快速的数据检索途径,使用查询设计器可以从一个
或多个表中检索满足条件的记录,还可以根据需要对检索到的记录进行排序和分组,并可根据检索结果创建表、报表或图表等以显示或保存检索结果。如果仅从一个表中检索记录,就称为单表查询,否则,为多表查询。所创建的
查询可以保存为默认扩展名为.QPR的查询文件,以供反复调用,执行指定的数据检索任务。http://www.wenyuan.com.cn/webnew/7.1.1查询设计器简介打开查询设计器窗口:单击系统菜单的
【文件】|【新建】,单击【查询】单选按钮,单击【新建文件】按钮,在打开的【添加表或视图】对话框中,依次将查询数据所在的表或视图添加完毕,单击【关闭】按钮,进入查询设计器窗口。查询设计器窗口分为上下2个窗格:上窗格显示已添加的表或视图;下窗格显示6个选项卡
,如图7.1.1所示,供设计查询使用。图7.1.1查询设计器选项卡http://www.wenyuan.com.cn/webnew/7.1.1查询设计器简介各选项卡的功能如下:1.【字段】选项卡:【字段】选项卡用于指定出现在
查询结果中的字段或表达式。可以通过在【可用字段】列表中,选择要添加的字段,将其添加到【选定字段】列表中。如果要输出的是表达式,则可将表达式直接输入到【函数和表达式】文本框中,也可以单击其右侧的按钮,通过表达式生成器来生成一个表达式。字段或表达式在【选定字段】
列表中的顺序,就是在查询结果中出现的顺序,可以通过上下拖动其左侧的按钮来改变字段的输出顺序。2.【联接】选项卡:【联接】选项卡在创建多表查询时使用,用来指定匹配多个表或视图中记录的连接条件表达式和连接类型,连
接类型有如下4种:(1)内部连接:相关联的两个表中,只有满足连接条件的记录才出现在查询结果中,是默认的也是最常用的连接类型。(2)左连接:满足连接条件的记录,以及连接条件左侧表中的记录(即使不满足连接
条件)都出现在查询结果中。(3)右连接:满足连接条件的记录,以及连接条件右侧表中的记录(即使不满足连接条件)都出现在查询结果中。(4)完全连接:所有满足和不满足连接条件的记录都出现在查询结果中。http://ww
w.wenyuan.com.cn/webnew/7.1.1查询设计器简介3.【筛选】选项卡:【筛选】选项卡用于设置在源表中选择记录的条件表达式,该卡含有如下各项:◼字段名:可在下拉列表中选择用于设置条件的字段或表达式。◼条件:可在下拉列表中选择一种比较符号,其中除了有前面章节已介绍过的关系运算符
外,还有Like:在实例文本框中可使用含通配符_(下划线)和%(百分号)的实例,表示指定字段与之做相似比较,其中_代表一个任意字符,%代表若干任意字符;IsNull:表示选择字段值为空(Null)的记录;Between:与之相配合的是实例文本框中以西文逗号分隔的2个实例数
值,用于限定指定字段的数值范围;In:与之相配合的是实例文本框中几个以西文逗号分隔的实例数值,它表示指定字段是否与某个实例相匹配。◼实例:用于输入具体的条件值。◼大小写:在进行字符数据的比较时,是否区分大小写。◼否:对设置的条件表达式进行非运算。◼逻辑:若
想使当前行条件与下行条件构成复合条件,则在下拉列表中选择相应的AND或OR来连接,如果设置只有一行的简单条件则使用默认的【无】。◼插入:单击【插入】按钮,可以在当前条件行之上插入一个空行。◼移去:选中一个条件行时,单击【移去】按钮可以将该条件行删除。ht
tp://www.wenyuan.com.cn/webnew/7.1.1查询设计器简介4.【排序依据】选项卡:【排序依据】选项卡用来从选定字段中选择排序依据项,以确定查询结果中记录的排列顺序。被添加到【排序条
件】列表中的字段顺序是排序关键字的顺序,可以通过拖动左侧的按钮来改变其顺序,从而形成第一排序关键字、第二排序关键字、…等等。5.【分组依据】选项卡:【分组依据】选项卡用于从源表或视图的全部字段中选择字段,使查询结果的行根据所选择的
字段进行分组,通常与求和、计数、求平均值等查询表达式配合,实现分组统计。6.【杂项】选项卡:【杂项】选项卡用于为查询结果指定一些其他的记录选择条件,这些条件简述如下:◼无重复记录:重复记录是指每个输出项的值都匹配的记录行。若选择了【无重复记录】项,则重复记录在查询结果中只出现一
次。◼交叉数据表:当【选定字段】恰好为3项时才可以使用本项,参见7.1.4节。◼列在前面的记录:默认为【全部】,即满足查询条件的全部记录均出现在查询结果中;设置【记录个数】和【百分比】,表示满足查询条件的前若干条或百分比的记
录出现在查询结果中。http://www.wenyuan.com.cn/webnew/7.1.1查询设计器简介当查询设计器打开后,通常会同时显示查询设计器工具栏,如图7.1.2所示,各工具按钮功能如下:◼添加表:打开添加表或视图对话框,向当前查询中添加需要的表或视图。◼移去表:选定了表或视图后此按
钮才可用,功能为从当前查询中移去选定的表或视图。◼添加连接:当查询中有2个或以上表时此按钮才可用,用来为表之间添加连接条件。◼显示/隐藏SQL窗口:是一个开关按钮,用来打开或关闭当前查询所对应的SQL命
令的显示窗口。用户在查询设计器中所做的所有设置最终都对应为一条SQL命令,该命令由系统自动生成,运行查询就是执行该SQL命令。用户可随时通过此按钮,打开SQL命令显示窗口,查看系统为当前查询生成的相应的标准的
SQL命令。这一点对SQL命令的掌握是十分有帮助的,SQL命令将在7.3节介绍。◼最大化/最小化上部窗格:用来使查询设计器的上部窗格最大化或最小化。◼查询去向:打开查询去向对话框,指定查询结果的输出形式,它们是“浏览”、“临时表”、“表”、“图形”、“屏幕”、“报表”和
“标签”,共7种输出形式,默认形式为“浏览”。图7.1.2查询设计器工具栏http://www.wenyuan.com.cn/webnew/7.1.2创建单表查询单表查询就是要查找的数据仅仅出自于一个表文件,因此,在使用查询设计器时,无须做任何联接设置,例如,从学生
表中查询男生的学号、姓名、年龄和性别,并按年龄降序排列记录;再例如,根据学生表按性别查询平均入学分数,等等。例7.1根据学生数据表建立查询文件NSNL.QPR,查询男生的学号、姓名、年龄和性别,并按年龄降序排列记录。操作步骤简述
如下:(1)打开查询设计器并添加表。选择【文件】|【新建】|【查询】命令,单击【新建文件】按钮,选择数据表:“学生”,单击【添加】按钮,单击【关闭】按钮。(2)选择字段。单击字段选项卡,在【可用字段】列表中,依次双击
“学生.学号”、“学生.姓名”、“学生.性别”,将3个字段添加到【选定字段】列表中。在【函数和表达式】文本框中输入YEAR(DATE())-YEAR(学生.出生日期)AS年龄,单击【添加】按钮,把该表达式添加到【选定字段】列表中。http://ww
w.wenyuan.com.cn/webnew/7.1.2创建单表查询(3)筛选记录。单击【筛选】选项卡标签,在【字段名】下拉列表中选择:学生.性别,条件符号使用等号=,在【实例】文本框中输入“男”。(4)排序记录。单击【排序依据】选项卡标签,双击【选定字段】列表中用于计
算年龄的表达式,把它添加到【排序条件】列表中,在【排序选项】中单击【降序】。(5)运行查询。单击系统菜单的【查询】|【运行查询】,查询结果如图7.1.3所示。(6)保存查询。关闭查询设计器窗口,在【保存】对话框中输入文件名“NSNL”,单击【确
定】按钮。图7.1.3例7.1查询结果http://www.wenyuan.com.cn/webnew/7.1.3创建多表查询多表查询就是要查找的数据来自于不止一个的、相关的表文件。例如,查询学生的学号、姓名、性别、专业、计算机、英语、高等数
学成绩和总分,查询数据需按学号相同的关联方式从学生表和成绩表两表中取得。由此可见,使用查询设计器创建多表查询,通常需要使用【连接】选项卡设置表之间的连接关系。具体创建过程可参考7.5.2节。http://www.wenyuan.com.cn/webnew/7.1.4创建交叉数据表在查询设计过程
中,当【选定字段】刚好为3项时,在【杂项】选项卡中的【交叉数据表】选项才可用。它使查询结果以交叉表格形式传送给表、报表或图形,3个选定字段应代表交叉表格的X轴、Y轴和单元值。选择【交叉数据表】选项后,系统自动为查询选择分组和排序依据字段,查询不可修改。例7
.2根据学生表创建交叉数据表,查询各专业男、女生的平均入学成绩。操作步骤简述如下:(1)打开查询设计器并添加表。选择【文件】|【新建】|【查询】命令,单击【新建文件】按钮,选择数据表“学生”,单击【添加】按钮,单击【关闭】按钮。(2)选择字段。单击【字段】选项
卡标签,将【可用字段】列表中的“学生.性别”、“学生.专业”,添加到【选定字段】列表中。单击【函数和表达式】文本框右侧的按钮,打开【表达式生成器】,在【数学】函数下拉列表中单击求平均值的函数AVG,在【字段】列表中双击“入学成绩”,这时,【表达式】文本框中显示“AVG(学生.入学成绩)”,单
击【确定】按钮,该表达式出现在【函数和表达式】文本框中,单击【添加】按钮,把该表达式添加到【选定字段】列表中。http://www.wenyuan.com.cn/webnew/7.1.4创建交叉数据表(3)设置交叉数据表。
单击【杂项】选项卡标签,选择【交叉数据表】。(4)运行查询。单击系统菜单的【查询】|【运行查询】,在浏览窗口中显示的查询结果如图7.1.4所示。图7.1.4例7.2查询结果http://www.wenyuan.com
.cn/webnew/7.1.5运行查询运行查询有以下两种方法:(1)在查询设计器中选择运行查询:【查询】|【运行查询】。(2)使用DO命令运行查询,命令格式为:DO<查询文件全名>。例如,运行例7.1建立的查询,使用命令:DOnsnl.qpr。http://www.wenyuan.com.c
n/webnew/7.2视图◼7.2.1创建视图◼7.2.2修改视图◼7.2.3删除视图◼7.2.4打开/关闭视图http://www.wenyuan.com.cn/webnew/7.2视图如果既要检索数据还要更新数据,就可以使用视图。视图兼有表和查询的特点。与查询相类似的是,可以用来从一个
或多个相关联的表中提取所需数据;与表相类似的是,可以更新其中的数据,并将更新结果永久保存在磁盘中。视图是属于数据库的,VisualFoxPro在数据库中仅保存对每个视图的定义。该定义包括视图中要引用数据所在表的表名、字段名及其属性设置等。当使用视图时,
VisualFoxPro根据视图定义临时获取数据。因此,视图被称为虚表或逻辑表。仅引用一个数据表中的数据所建立的视图称为单表视图;通过引用多个数据表中的数据而建立的视图称为多表视图。使用当前数据库表中数据建立的视图称为本地视图;使用远程服务器上数据建立的视图称为远程视图。h
ttp://www.wenyuan.com.cn/webnew/7.2.1创建视图创建视图的过程与创建查询的过程十分相似,但用来创建查询的数据源既可以是数据库表又可以是自由表,而视图所引用的表必须是数据库表。因此,创建视图之前,必须首先打开
数据库,然后再打开视图设计器,方式如下:方式一:(1)使用命令打开数据库。在命令窗口键入:OPENDATABASE<数据库文件名>。(2)打开视图设计器。选择【文件】|【新建】|【视图】命令,单击【新建文件】按钮,选
定所需的数据表,单击【添加】按钮,单击【关闭】按钮进入视图设计器窗口。方式二:(1)使用菜单打开数据库。选择【文件】|【打开】命令,选择所需数据库,进入数据库设计器窗口。(2)打开视图设计器。选择【数据库】|【新建本地视图】|【新建视图】命令,选择所需的数据表,单击【
添加】按钮,单击【关闭】按钮进入视图设计器窗口。观察视图设计器窗口可以发现,视图设计器仅仅比查询设计器窗口多了一个【更新条件】选项卡标签,其余选项卡标签相同,而视图设计器工具栏比查询设计器工具栏少了一个【查询去向】按钮,其
余按钮相同。http://www.wenyuan.com.cn/webnew/7.2.1创建视图1.单表视图例7.3根据学生数据表建立视图“平均入学成绩”,含有每个专业学生平均入学分数,记录按平均分降序排列。
操作步骤简述如下:(1)打开数据库。用菜单方式或命令方式打开学生管理数据库。(2)打开视图设计器。添加学生表。(3)选择字段。单击字段选项卡,双击【可用字段】列表中的“学生.专业”,将其添加到【选定字段】列表中,单击【函数和表达式】文本框右侧按钮,打开表达式生
成器,在【数学】函数下拉列表中单击AVG函数,在【字段】列表中双击“入学成绩”,在【表达式】文本框中的表达式行尾输入“AS平均入学成绩”,单击【确定】按钮,单击【添加】按钮,把表达式“AVG(学生.入学成绩)AS平均入学成绩”,添加到【选定字段】列表。http://www.wenyuan.com
.cn/webnew/7.2.1创建视图(4)选择排序字段。双击【选定字段】中计算平均入学成绩的表达式,将其添加到【排序条件】列表中,选中【排序选项】中的【降序】。(5)选择分组字段。单击【分组依据】选项卡,双击【可用字段】列表中的“学生.专业”,将其添加到【分组字段】列表中。图7.2.1例7.
3视图浏览(6)查看视图。单击系统菜单的【查询】|【运行查询】,显示结果如图7.2.1所示。(7)保存视图。关闭视图窗口,在【保存】对话框中输入视图名“平均入学成绩”,单击【确定】按钮。打开数据库设计器窗口查看学生管理数据库,可以看到刚刚建立的视
图。http://www.wenyuan.com.cn/webnew/7.2.1创建视图2.多表视图例7.4根据学生表和成绩表建立视图“高等数学成绩”,含有计算机专业学生的学号、姓名、专业和高等数学成绩,记录
按学号升序排列。操作步骤简述如下:(1)打开数据库。用菜单方式或命令方式打开学生管理数据库。(2)打开视图设计器。添加学生表和成绩表。(3)设置连接表达式。单击【连接】选项卡标签,设置连接条件为:学生.学号=成绩.学号,连接类型为内部连接。(4)选择字段。单击【字段】选项卡标签,依
次双击【可选字段】列表中的“学生.学号”、“学生.姓名”、“学生.专业”、“成绩.高等数学”,将5个字段添加到【选定字段】列表中。http://www.wenyuan.com.cn/webnew/7.2.1创建视图(5)设置筛选条件。单击【筛选】选项卡标签,设置筛选条件为
:学生.专业='计算机'。(6)设置排序依据。单击【排序依据】选项卡标签,双击【选定字段】列表中的“学生.学号”,把该字段添加到【排序条件】列表中,在【排序选项】中选择【升序】。图7.2.2例7.4视图浏览(7)查看视图。选择
【查询】|【运行查询】命令,显示结果如图7.2.2所示。(8)保存视图。关闭视图窗口,在【保存】对话框中输入视图名“高等数学成绩”,单击【确定】按钮。http://www.wenyuan.com.cn/webnew/7.2.1创建视图3.参数视图
在前面例题所建立的视图中,对记录进行筛选的筛选实例都是在设计阶段就确定了的,视图中的记录是相对固定的。如上例,筛选条件为:学生.专业='计算机',筛选实例“计算机”在设计阶段即已确定。如果希望在每次使用视图时临时指定记录的筛选实例,例如,打开视图时提示输入具体专业名称以筛选指定
专业的记录,则可以采用参数视图,如下例。例7.5根据学生表建立视图“专业学生”,给出用户指定专业的学生信息。操作步骤简述如下:(1)打开数据库。用菜单方式或命令方式打开学生管理数据库。(2)打开视图设计器。添加学生表
。(3)选择字段。单击【字段】选项卡标签,单击【全部添加】按钮选择全部字段为选定字段。(4)设置筛选条件。单击【筛选】选项卡标签,设置筛选条件为:学生.专业=?专业。http://www.wenyuan.com.cn/webnew/7.2.1创建视图(5)输入参数名。选择【
查询】|【视图参数】命令,在视图参数对话框的参数名文本框中输入“专业”,选择【类型】为【字符型】,单击【确定】按钮。(6)查看视图。选择【查询】|【运行查询】命令,在打开的【视图参数】对话框中输入“管理”,如图7.2.3所示,单击【确定】按钮,显示结果如
图7.2.4所示。(7)保存视图。关闭视图窗口,在【保存】对话框中输入视图名“专业学生”,单击【确定】按钮。图7.2.4例7.5视图浏览图7.2.3视图参数对话框http://www.wenyuan.com.cn
/webnew/7.2.1创建视图4.可更新数据视图使用视图,可以从表中提取一组记录,改变这些记录的值,并把更新结果送回到源表中,视图的这一功能是通过对视图设计器的【更新条件】选项卡进行相应设置来实现的。如图7.2.5所示,更新条件选项卡的各项功
能如下:(1)【表】下拉列表:指定视图使用的、可以更新数据的表。(2)【字段名】列表:显示视图的选定字段,这些字段又可分为如下3类:图7.2.5更新条件选项卡◼关键字段:在钥匙符号列有标记的是关键字段,关键字段用来使视图中的修改与源表中的原始记录相匹配。系统
自动将表的主关键字标记为关键字段,用户可以根据需要另选其他字段作为关键字段,方法是点击该字段的钥匙列按钮使标记出现。◼可更新字段:在笔型符号列有标记的是可更新字段。◼普通字段:在钥匙和笔型符号列均无标记的字段。http://www.wen
yuan.com.cn/webnew/7.2.1创建视图(3)【重置关键字】按钮:重新将表的主关键字标记为关键字段。(4)【全部更新】按钮:把除关键字段以外的所有字段标记为可更新字段。(5)【发送SQL更新】复选框:
是否把对视图记录的修改传送给源表。(6)【SQLWHERE子句包括】单选项:在远程视图进行更新源表操作时,用于检测服务器上的更新冲突,4个选项如下:◼【关键字段】:当源表中的关键字段被改变时,更新失败。◼【关键字和可更新字段】:当远程表中的可更新字段被改变时,更新失败。◼【关键字和已修
改字段】:当在本地修改的任一字段在源表中已被改变时,更新失败。◼【关键字和时间戳】:当远程表记录的时间戳首次检索以后又被修改过,更新失败。(7)【使用更新】单选项:用于指定字段在服务器上的如下2种更新方
式:◼SQLDELETE然后INSERT:删除源表记录,再创建一个新的在视图中被修改的记录。◼SQLUPDATE:用视图字段的变化来修改源表的相应字段。http://www.wenyuan.com.cn/webnew/7.2.1创建视图例7.6根据学生表建立视图“更改专业”,包含所有学生的学号、姓
名、性别和专业字段,使专业字段可更新。操作步骤简述如下:(1)打开学生管理数据库。(2)打开视图设计器,添加学生表,在【字段】选项卡中选定所需的4个字段。(3)单击【更新条件】选项卡标签,如图7.2.5所示,指定关键字段和可更新字段,选中【发送SQL更新】。(4)关闭视图设计器窗
口,保存视图为“更改专业”。(5)在数据库设计器窗口,双击视图“更改专业”,在打开的浏览窗口,将学生“章硕”的专业字段值由“管理”改为“计算机”,关闭该视图浏览窗口,双击学生数据表,观察到“章硕”的所学专
业已改为“计算机”。http://www.wenyuan.com.cn/webnew/7.2.2修改视图修改视图仍在视图设计器中进行,为修改视图而打开视图设计器的方式有如下2种:(1)菜单方式。选择【文件】|【打开】命令,选择要修改的视
图所属的数据库,进入数据库设计器窗口,选中要修改的视图,右击打开快捷菜单或单击系统菜单的【数据库】|【修改】,进入视图设计器窗口。(2)命令方式。顺序执行命令:OPENDATABASE<数据库>和MODIFYVIEW<视图名>,进入视图设计
器窗口。http://www.wenyuan.com.cn/webnew/7.2.3删除视图删除视图有菜单方式和命令方式2种。(1)菜单方式。选择【文件】|【打开】命令,选择要删除的视图所属的数据库,进入数据库设计器窗口,选中要删除的视图,右击选择【删除】或者单击系
统菜单的【数据库】|【移去】,删除选定视图。(2)命令方式。顺序执行命令:OPENDATABASE<数据库>和DELETEVIEW<视图名>,删除指定视图。http://www.wenyuan.com.cn/webnew/7.2.4打开/关闭视图要打开视图,首先要打开其所属数据库,
之后的打开和关闭操作与数据库表是一样的。1.打开视图(1)菜单方式:在数据库设计器中,双击要打开的视图。(2)命令方式:顺序执行命令:OPENDATABASE<数据库>和USE<视图名>[IN<工作区>],打开指定视图。2.关闭视图使
用命令:USE[IN<工作区>],关闭在指定工作区中打开的视图。http://www.wenyuan.com.cn/webnew/7.3SQL命令◼7.3.1VisualFoxPro的SQL查询命令◼7.3.2VisualFoxPro的SQL定义命
令◼7.3.3VisualFoxPro的SQL操纵命令http://www.wenyuan.com.cn/webnew/7.3SQL命令结构化查询语言SQL(StructuredQueryLanguage)是一种通用的、功能强大的关系数据库标准语言,国际标准化组织已将其确定为关系数据库语言的国际
标准,被绝大多数商品化的关系数据库系统所采用,它简洁易学、使用方便灵活、功能丰富。前面已经提到过,在使用设计器设计查询和视图时,可随时查看所对应的SQL命令,可见VisualFoxPro也支持SQL命令。VisualFoxPro的SQ
L命令可实现数据定义、操纵和查询功能。http://www.wenyuan.com.cn/webnew/7.3.1VisualFoxPro的SQL查询命令SQL_SELECT命令是VisualFoxPro的SQL查询命令,该命令的查询功能十分丰富,使用方便灵活,
可实现单表查询和相关多表查询,并可嵌套使用。1.SQL_SELECT命令简单地讲,SQL_SELECT命令实现的是从指定表,按指定方式查找指定数据并送到指定地点的操作。该命令的可选项较多,这里仅介绍其一般格式。命令格式:SELECT[ALL|DISTINCT][TOP<N型表达式>[P
ERCENT]][<别名1>.]<输出列表达式1>[AS<列名1>][,[<别名2>.]<输出列表达式2>[AS<列名2>]...]FROM[<数据库名>!]<表名1>[[INNER|LEFT|RIGHT|FULL]JOIN[<数据库名2>!]<表名2>[ON<连接条件>…]]
[[INTO<查询去向>]|[TOFILE<文本文件名>[ADDITIVE]|TOPRINTER[PROMPT]|TOSCREEN]][WHERE<条件>][GROUPBY<分组列名1>[,<分组列名2>...][HAVING<筛选条件>]][ORDERBY<排序列名1>[ASC|DES
C][,<排序列名2>[ASC|DESC]...]http://www.wenyuan.com.cn/webnew/7.3.1VisualFoxPro的SQL查询命令对应查询设计器的各个选项卡,不难理解上述命令当中各个子句的含义。[<别名1>.]<输
出列表达式1>[AS<列名1>][,[<别名2>.]<输出列表达式2>[AS<列名2>]...]对应于【字段】选项卡中的选定字段列表。它们既可以是字段名,也可以为表达式,还可以只用一个*,表示输出表的全部字段,配合SELECT通常被称为SELECT子句,是命令中不可缺少的部分;[<数据库名>!]<
表名表>给出输出列表达式中所涉及字段的所属表,即数据来源。配合FROM通常被称为FROM子句,也是命令中不可缺少的部分。[INNER|LEFT|RIGHT|FULL]JOIN…ON<连接条件>选项用于设置多表查询
的连接条件,与【连接】选项卡中的设置相对应,INNER|LEFT|RIGHT|FULL分别表示内部连接、左连接、右连接和完全连接,省略时默认为内部连接。WHERE<条件>子句用于设置对查询结果记录的筛选条件,与【筛选】选项卡中的设置相对应。GROUPBY<分组列名1>[,<分组列名2>...]
子句用于设置分组依据,与【分组依据】选项卡中的设置相对应。HAVING<筛选条件>选项用于对分组记录进行筛选,只有满足筛选条件的分组记录才可能被输出,HAVING子句要与GROUPBY子句配合使用。http://ww
w.wenyuan.com.cn/webnew/7.3.1VisualFoxPro的SQL查询命令ORDERBY<排序列名1>[ASC|DESC][,<排序列名2>[ASC|DESC]...子句用于表示查询结果记录的排列方式,与
【排序依据】选项卡中的设置相对应。若排序依据列为表达式,则通常使用该列在输出列中的序号表示。ASC/DESC分别表示升序和降序,省略时,默认为升序。[ALL|DISTINCT]和[TOP<N型表达式>[PERCENT]]选
项分别与【杂项】选项卡中的“无重复记录”和“列在前面的记录”设置相对应,ALL表示输出满足条件的全部记录,是选项省略时的默认值;DISTINCT表示重复的记录只输出一次,即查询结果当中无重复记录;TOP子句表示输出查询结果的前N条(无PERCENT时)或前N%
条(有PERCENT时),TOP子句必须配合ORDERBY子句使用,当排序依据字段有重复值时,输出的记录可能多于TOP的设置值。[INTO<查询去向>]|[TOFILE<文本文件名>[ADDITIVE]|TOP
RINTER[PROMPT]|TOSCREEN]子句用于指定查询结果的去向。INTO子句的<查询去向>可以是:ARRAY<数组名>、CURSOR<临时表名>、DBF<数据表名>或TABLE<自由表名>;TOFILE子句指定将查询结果
送指定的文本文件,使用ADDITIVE表示将查询结果追加到指定的文本文件中,否则,覆盖文本文件内容;TOPRINTER[PROMPT]子句表示将查询结果送打印机输出,使用PROMPT表示打印之前弹出打
印设置对话框,供用户进行打印设置;TOSCREEN子句表示在VisualFoxPro主窗口或用户自定义的当前窗口中显示查询结果。当INTO或TO子句省略时,查询结果显示在浏览窗口中。http://www.wenyuan.com.cn/webnew/7.3.1Visual
FoxPro的SQL查询命令由上述说明可知,SQL_SELECT命令的最简单形式是:SELECT<列名表>FROM<表名>,它表示在浏览窗口中显示指定表的指定列。另外,在SELECT子句中还可以使用以下函数实现统计查询:AVG(<N型字段名
表达式>):计算表达式的平均值。COUNT(<字段名>/*):统计指定字段的值的个数/输出记录数。MAX(<字段名表达式>):求表达式的最大值。MIN(<字段名表达式>):求表达式的最小值。SUM(<N型字段名表达式>):计算表达式的和。使用上列函数时,若配合GROUPBY子句可以实现分
组统计。http://www.wenyuan.com.cn/webnew/7.3.1VisualFoxPro的SQL查询命令2.SQL_SELECT命令使用示例(1)单表查询单表查询就是从一个表中查找所需数据,因此,在SQL_SELECT命令中不会出现JOIN_ON
等用于设置表间连接条件的子句。例7.7查询学生的学号和姓名。SELECT学生.学号,学生.姓名FROM学生命令执行结果如图7.3.1所示。图7.3.1例7.7命令执行结果http://www.wenyuan.com.cn/webnew/7.3.1VisualFoxPro的SQL查询命令
例7.8查询招生专业。SELECTDISTINCT学生.专业FROM学生命令执行结果如图7.3.2所示。例7.9查询英语专业的学生信息。SELECT*FROM学生WHERE学生.专业="英语"命令执行结果如图7.3.3所示。图7.3.2例7.8命令执行结果图7.3.3例7.9命令
执行结果http://www.wenyuan.com.cn/webnew/7.3.1VisualFoxPro的SQL查询命令例7.10查询所有王姓学生的信息。SELECT*FROM学生WHERE学生.姓名LIKE"王%"命令执行结果如图7.3.4所示
。例7.11查询管理专业学生的入学成绩,并按入学成绩降序排列记录。SELECT学生.学号,学生.姓名,学生.专业,学生.入学成绩;FROM学生;WHERE学生.专业="管理";ORDERBY学生.入学成绩DESC命令执行结果如图7.3.5所示。图7.3.4例7.10命令执行结果图7.3
.5例7.11命令执行结果http://www.wenyuan.com.cn/webnew/7.3.1VisualFoxPro的SQL查询命令例7.12查询学生平均入学成绩。SELECTAVG(学生.入学成绩)AS平均入学成绩FR
OM学生命令执行结果如图7.3.6所示。例7.13查询各专业学生平均入学成绩。SELECT学生.专业,AVG(学生.入学成绩)AS平均入学成绩;FROM学生;GROUPBY学生.专业命令执行结果如图7.3.7
所示。例7.14查询学生人数。SELECTCOUNT(*)AS学生人数FROM学生命令执行结果如图7.3.8所示。图7.3.6例7.12命令执行结果图7.3.7例7.13命令执行结果图7.3.8例7.14命令执行结果http://www.wenyuan.com.cn/webnew
/7.3.1VisualFoxPro的SQL查询命令例7.15查询各专业女学生人数,结果按人数升序排列。SELECT学生.专业,COUNT(*)AS女生人数;FROM学生;WHERE学生.性别="女";GROUPBY学生.专业;ORDERBY2命令执行结果如图7.3.9所示。例7.16查询专业
数量。SELECTCOUNT(DISTINCT学生.专业)AS专业数FROM学生命令执行结果如图7.3.10所示。在本例中,如果把命令中的DISTINCT去掉,执行结果显示的专业数为12,所统计的是专业字段值(非NULL)的个数,而不是专业的种类数。因此,需
要对专业字段使用关键字DISTINCT把重复值去掉,从而实现本例要求。图7.3.9例7.15命令执行结果图7.3.10例7.16命令执行结果http://www.wenyuan.com.cn/webnew/7.3.1VisualFoxPro的SQL查询命令例7
.17查询最高和最低入学成绩。SELECTMAX(学生.入学成绩)AS最高入学成绩,;MIN(学生.入学成绩)AS最低入学成绩;FROM学生命令执行结果如图7.3.11所示。例7.18从成绩表中查询总分的最高分。SELECTMAX(成绩.计算机
+成绩.英语+成绩.高等数学)AS最高总分;FROM成绩命令执行结果如图7.3.12所示。图7.3.11例7.17命令执行结果图7.3.12例7.18命令执行结果http://www.wenyuan.com.cn/webnew/7.3
.1VisualFoxPro的SQL查询命令(2)多表查询多表查询是指从一个以上的相关表中查找所需数据,因此,表与表之间连接条件的设置通常是必不可少的。连接条件既可以通过JOIN_ON子句来设置,还可以通过WHERE子句来设置,只是WHERE子句无法指定连接类型。例7.19从学生表
和成绩表中,查询学生的学号、姓名、性别、专业、计算机、英语、高等数学成绩和总分,查询结果首先按专业升序排列记录,专业相同时按总分降序排列记录。此例要求与例7.3完全相同,对应的SQL_SELECT命令如下:SELECT学生.学号,学生.姓名,学生.性别,学生.专业,
;成绩.计算机,成绩.英语,成绩.高等数学,;成绩.计算机+成绩.英语+成绩.高等数学AS总分;FROM学生INNERJOIN成绩;ON学生.学号=成绩.学号;ORDERBY学生.专业,8DESChttp://www.wenyuan.com.cn/webnew/7
.3.1VisualFoxPro的SQL查询命令若用WHERE子句描述学生表和成绩表之间的连接关系,同样可以实现本例要求,命令如下:SELECT学生.学号,学生.姓名,学生.性别,学生.专业,;成绩.计算机,成绩.英语,成绩.高等数学
,;成绩.计算机+成绩.英语+成绩.高等数学AS总分;FROM学生,成绩;WHERE学生.学号=成绩.学号;ORDERBY学生.专业,8DESC若命令中引用的字段名在FROM子句所列出的所有表中是唯一的,则该字段名的前缀可以省略,否则,需使用
所在表的别名做前缀以表明该字段属于哪个表,如上列命令可简化如下:SELECT学生.学号,学生.姓名,性别,专业,计算机,英语,高等数学,;计算机+英语+高等数学AS总分;FROM学生,成绩;WHERE学生.学号=成绩.学号;ORDERBY专业,8DESC命令执行结果如图7.3.13所示。h
ttp://www.wenyuan.com.cn/webnew/7.3.1VisualFoxPro的SQL查询命令图7.3.13例7.19命令执行结果http://www.wenyuan.com.cn/webnew/7.3.1VisualFoxPro的SQL查询命令例
7.20查询计算机专业学生的成绩。SELECT成绩.*;FROM成绩,学生;WHERE成绩.学号=学生.学号AND学生.专业='计算机'命令执行结果如图7.3.14所示。图7.3.14例7.20命令执行结果http://www.wenyuan.com.
cn/webnew/7.3.1VisualFoxPro的SQL查询命令(3)嵌套查询所谓嵌套查询是指,在一个SQL_SELECT命令的WHERE子句中含有另一个SQL_SELECT命令,这个命令通常被称为子查询。子查询的结果通常用来表示
条件值。嵌套查询的WHERE条件通常有如下几种形式:<字段名><比较运算符>ALL(<子查询>):筛选指定字段与全部子查询结果都满足条件的记录。<字段名><比较运算符>ANY/SOME(<子查询>):筛选指定字段至少与一个子查询结果满足比较条件
的记录。<字段名>IN(<子查询>):筛选指定字段值在子查询结果中的记录。EXIST(<子查询>):只要子查询结果非空筛选条件就为真值。其中,比较运算符为:>、>=、<、<=、=和<>(!=,#)。注意:HAV
ING子句的筛选条件不能使用子查询。http://www.wenyuan.com.cn/webnew/7.3.1VisualFoxPro的SQL查询命令例7.21查询入学成绩最高的学生信息。SELECT*FROM学生;WHERE学生.入学成绩>=ALL(SELECT
学生.入学成绩FROM学生)命令执行结果如图7.3.15所示。图7.3.15例7.21命令执行结果http://www.wenyuan.com.cn/webnew/7.3.1VisualFoxPro的SQL查询命令例7.22查
询计算机专业有选修课程的学生信息,并以查询结果生成表文件“CC.DBF”。SELECT学生.*;FROM学生;WHERE学生.学号IN(SELECT选课.学号FROM选课);AND学生.专业='计算机';INTOTABLECCBROWSE命令执行结果如图7.3.16所示。图7.3.1
6例7.22命令执行结果http://www.wenyuan.com.cn/webnew/7.3.2VisualFoxPro的SQL定义命令VisualFoxPro的SQL定义命令用于定义表结构、定义
视图、修改表结构以及删除表或视图。1.定义表结构简单命令格式:CREATETABLE<表名>[FREE](<字段名1><数据类型>[(<字段宽度>[,<小数位数>])][,<字段名2><数据类型>[(<字段宽度>[,<小数位数>])]……])命令功能:建立一个含有指定字段的空
表。http://www.wenyuan.com.cn/webnew/7.3.2VisualFoxPro的SQL定义命令说明:(1)若使用FREE子句,或当前没有打开的数据库,则所建立的表为自由表;否则,所建立的表成为当前数
据库中的数据表。(2)表示<数据类型>的符号见表7.3.1。只有字符型、数值型、浮点型和双精度型需要指定字段宽度或小数位数,其他数据类型的字段宽度省略,由系统自动给定。符号表示类型符号表示类型C字符型B双精度型D日期型
Y货币型T时间型L逻辑型N数值型M备注型F浮点型G通用型I整型表7.3.1各种数据类型的表示符号http://www.wenyuan.com.cn/webnew/7.3.2VisualFoxPro的SQL定义命令例7.23在学生管理数据库中建立学生档案表,结构
与学生表相同。使用命令:OPENDATABASE学生管理CREATETABLE学生档案(学号C(7),班级编号C(2),姓名C(8),性别C(2),;出生日期D,党团员L,专业C(8),入学成绩N(8,0),;e_mailC(15),简历M)执行上述命令,在学生管理数据
库中,创建了一个名为“学生档案”的空表。http://www.wenyuan.com.cn/webnew/7.3.2VisualFoxPro的SQL定义命令2.修改表结构简单命令格式1:ALTERTABLE<表名>ADD<新字段名><字段类型
>[(<字段宽度>[,<小数位数>])]命令功能:为指定表增加一个新的字段。简单命令格式2:ALTERTABLE<表名>ALTER<字段名><字段类型>[(<字段宽度>[,<小数位数>])]命令功能:对指
定表修改指定字段的数据类型、字段宽度或小数位数。简单命令格式3:ALTERTABLE<表名>DROP<字段名>命令功能:从指定表中删除指定字段。http://www.wenyuan.com.cn/webnew/7.3.2VisualFoxPro的SQL定义命令例7.24为学生档案表增加一个
通用型字段用以存放学生照片。执行命令:ALTERTABLE学生档案ADD照片G例7.25把学生档案表的入学成绩字段的数据类型改为整型。执行命令:ALTERTABLE学生档案ALTER入学成绩I例7.26删除学生档案表的照片字段。执行命令:ALTERTABLE学生档案DROP照片http:
//www.wenyuan.com.cn/webnew/7.3.2VisualFoxPro的SQL定义命令3.定义视图简单命令格式:CREATESQLVIEW<视图名>AS<SQL_SELECT命令>命令功能:由SQL_SELECT的描述生成指定的视图定义
。例7.27由学生档案表生成视图“英语专业学生”,该视图含有英语专业的学生信息。执行命令:CREATESQLVIEW英语专业学生ASSELECT*FROM学生档案;WHERE专业='英语'http://www.wenyuan.com.cn/webnew/
7.3.2VisualFoxPro的SQL定义命令4.删除表和视图命令格式1:DROPTABLE<表名>命令功能:删除指定表。例7.28删除学生档案表。执行命令:DROPTABLE学生档案命令格式2:DR
OPVIEW<视图名>命令功能:删除指定视图。例7.29删除英语专业学生视图。执行命令:DROPVIEW英语专业学生提示:学生档案表被英语专业学生视图引用,当该表被删除后,引用该表的视图虽在,但该视图已无法使用。http://www.wenyuan.com.cn/webnew/7.3.3
VisualFoxPro的SQL操纵命令VisualFoxPro的SQL数据操纵命令用于对表中的记录进行更新,包括插入记录、删除记录和修改记录。1.插入记录命令格式:INSERTINTO<表名>[(<字段名1>[,<字段名2>,...])]VALUES(<表达式1>[,<表达式2>,...])
命令功能:向指定表追加一条具有给定字段值的记录。http://www.wenyuan.com.cn/webnew/7.3.3VisualFoxPro的SQL操纵命令例7.30向学生表追加一条新记录:2004120,02,李柠,女,
12/25/85,F,英语,608。执行命令:INSERTINTO学生;(学号,班级编号,姓名,性别,出生日期,党团员,专业,入学成绩);VALUES;('2004120','02','李柠','女',{^1985-12-25},.F.,'英语',608)说明:命令执行后,记录指针指
向追加的新记录。若被追加记录的表尚未打开,命令执行时系统自动选择一个新的工作区把表打开追加记录,但当前工作区不变化;若被追加记录的表已经打开,但不在当前工作区,命令执行后,当前工作区不变化。若省略字段名列表,则表示字段值的各表达式的排列顺序要与字段在表结构
中的定义顺序一致。http://www.wenyuan.com.cn/webnew/7.3.3VisualFoxPro的SQL操纵命令2.修改记录命令格式:UPDATE<表名>SET<字段名1>=<表达式1>[,<字段名2>=<表达式2>……][WHERE<条件>]命令功能:对指定表中满足条件
的记录,用指定表达式的值修改相应字段值。说明:省略WHERE<条件>时,表示对表中所有记录执行指定的修改操作。例7.31修改学生表中李柠的记录,将“党团员”改为“真值”,“专业”改为“管理”。执行命令:UPDATE学生SET党团员=.T.,专业='管
理';WHERE学号='2004120'http://www.wenyuan.com.cn/webnew/7.3.3VisualFoxPro的SQL操纵命令3.删除记录命令格式:DELETEFROM<表名>[WHE
RE<条件>]命令功能:在指定表中,为满足条件的记录加删除标记。说明:省略WHERE<条件>时,表示为表中所有记录加删除标记。例7.32将学生表中,学生李柠的记录删除。执行命令:DELETEFROM学生WH
ERE学号='2004120'SELECT学生PACKhttp://www.wenyuan.com.cn/webnew/7.3.3VisualFoxPro的SQL操纵命令上例中,无论学生表是否处于打开状态,均可执行D
ELETEFROM命令。该命令执行后,学生表一定处于打开状态,但未必在当前工作区。而该删除命令仅仅为要删除的记录添加删除标记。如果要物理删除该记录,就要先使学生表所在工作区为当前工作区,然后执行PACK命令,
使学生李柠的记录被真正删除。例7.33逻辑删除学生表的所有记录,再去掉所有删除标记。执行命令:DELETEFROM学生SELECT学生BROWSERECALLALLBROWSEhttp://www.wenyuan.com.cn/webnew/7.4查询程序设计实例http://www.
wenyuan.com.cn/webnew/7.4查询程序设计实例例7.34根据学生表设计如图7.4.1所示的查询表单,具有按学号和专业查询学生档案的功能,文件名为“学生档案查询.SCX”。图7.4.1例7.34表单设计界面h
ttp://www.wenyuan.com.cn/webnew/7.4查询程序设计实例◼查询按钮的Click事件代码如下:iffile("temp.dbf")useintempdeletefiletemp.dbfendififthi
sform.OptiongroupQuery.value=1ifnotempty(alltrim(thisform.Txt学号.value))select*from学生where;学生.学号=alltrim(thisform.Txt学号.value)intodbftempselecttem
pbrowsetitle"查询结果"elsemessagebox("请输入学号!",0+64+0,"查询提示")endifelseifnotempty(thisform.Combo专业.value)select*from学生where学生.专业=thisform.Combo专业.va
lue;orderby学生.班级编号intodbftempselecttempbrowsetitle"查询结果"elsemessagebox("请指定专业!",0+64+0,"查询提示")endifendi
fhttp://www.wenyuan.com.cn/webnew/7.4查询程序设计实例◼保存表单。关闭表单设计器窗口,在【另存为】对话框中选择保存位置,输入表单文件名“学生档案查询”,单击【保存】按钮。◼
运行表单。在命令窗口键入如下命令:DOFORM学生档案查询运行结果参见图7.4.2。图7.4.2例7.34表单运行结果参考http://www.wenyuan.com.cn/webnew/7.5上机指导◼7.5.1创建单表查询◼7.5.2创建多
表查询◼7.5.3在表单中显示视图及更新数据http://www.wenyuan.com.cn/webnew/7.5.1创建单表查询例7.35根据学生数据表建立查询文件RXJF.QPR,按性别查询平均
入学分数。操作步骤简述如下:(1)打开查询设计器并添加表。选择【文件】|【新建】|【查询】命令,单击【新建文件】按钮,选择数据表“学生”,单击【添加】按钮,单击【关闭】按钮。(2)选择字段。单击【字段】选项卡标签,在【可用字段】列表中,双击“学生.性别”,将该字段添加到【选定字段】列表中
。单击【函数和表达式】文本框右侧的按钮,打开表达式生成器,在【数学】函数下拉列表中单击求平均值的函数AVG,在【字段】列表中双击“入学成绩”,这时,【表达式】文本框中显示:AVG(学生.入学成绩),在其后输入:AS平均入学成绩,使表达式
文本框中显示:AVG(学生.入学成绩)AS平均入学成绩,单击【确定】按钮,该表达式出现在【函数和表达式】文本框中,单击【添加】按钮,把该表达式添加到【选定字段】列表中。http://www.wenyuan.com.cn/webnew/7.
5.1创建单表查询(3)分组记录。单击【分组依据】选项卡标签,在【可用字段】列表中,选中“学生.性别”,单击【添加】按钮,把该字段添加到【分组字段】列表中。(4)运行查询。选择【查询】|【运行查询】命令,在浏览窗
口中显示的查询结果如图7.5.1所示。(5)保存查询。关闭查询设计器窗口,在【保存】对话框中输入文件名“RXJF”,单击【确定】按钮。图7.5.1例7.35查询结果http://www.wenyuan.co
m.cn/webnew/7.5.2创建多表查询例7.36根据学生表和成绩表建立查询文件ZCJ.QPR,查询学生的学号、姓名、性别、专业、计算机、英语、高等数学成绩和总分,查询结果首先按专业升序排列记录,专业相同时按总分降序排列记录
。操作步骤简述如下:(1)打开查询设计器并添加表。选择【文件】|【新建】|【查询】命令,单击【新建文件】按钮,选择数据表“学生”,单击【添加】按钮,选择数据表“成绩”,单击【添加】按钮。(2)建立表间连
接。接上步,在打开的连接条件对话框中,系统给出默认连接条件为:学生.学号=成绩.学号,连接类型为内部连接,恰好满足本例设计要求,单击【确定】按钮,单击【关闭】按钮。(3)选择字段。单击【字段】选项卡标签,在【可用字
段】列表中,依次双击“学生.学号”、“学生.姓名”、“学生.性别”、“学生.专业”、“成绩.计算机”、“成绩.英语”、“成绩.高等数学”,将所需字段添加到【选定字段】列表中。单击【函数和表达式】文本框右侧的按钮,打开【表达式生成器】,从【来源于表】
下拉列表中选择“成绩”,在【字段】列表中,依次双击“计算机”、“英语”、“高等数学”,在表达式文本框的这3个字段之间键入加号,在行尾输入:AS总分,形成表达式:成绩.计算机+成绩.英语+成绩.高等数学AS总分,单击【确定】按钮,单击【添
加】按钮,把该表达式添加到【选定字段】列表中。http://www.wenyuan.com.cn/webnew/7.5.2创建多表查询(4)排序记录。单击【排序依据】选项卡,在【选定字段】列表中,首先双击“学生.专业”,在【排序选项】中单击【升序】,然后双击用于
计算总分的表达式,在【排序选项】中单击【降序】。(5)运行查询。选择【查询】|【运行查询】命令,查询结果如图7.5.2所示。(6)保存查询。关闭查询设计器窗口,在【保存】对话框中输入文件名ZCJ,单击【确定】按钮。图7.5
.2例7.36查询结果http://www.wenyuan.com.cn/webnew/7.5.3在表单中显示视图及更新数据例7.37为例7.6创建的视图“更改专业”。建立数据编辑表单,仅允许修改专业字段,并可随时浏览源表的相应变化,表单文件名
为“更改专业.SCX”。操作过程简述如下:(1)创建表单。为简化表单设计过程,采用向导方式创建表单,过程如下:◼选择【文件】|【新建】|【表单】|【向导】命令,单击【表单向导】,单击【确定】按钮。◼在向导步骤1中,选择学生数据库中的更改专业视图的全
部字段为选定字段。◼在向导步骤2中,选择浮雕样式和文本按钮。◼在向导步骤4中,输入表单标题“使用视图更改专业”;选择【保存表单并用表单设计器修改表单】,单击【完成】按钮,输入表单文件名“更改专业”。单击【保存】按钮。http://www.wenyuan.com.
cn/webnew/7.5.3在表单中显示视图及更新数据(2)修改表单。如图7.5.3所示,在已打开的表单设计器中修改所创建的表单。图7.5.3例7.37表单http://www.wenyuan.com.cn/webnew/7.5.3在表单中显示视图及更新
数据◼修改表单Form1的如下属性:Height:240MaxButton:.F.Width:400◼修改标签控件Label1的如下属性:Top:8Left:59(可使用系统菜单的【格式】|【对齐】|【水平居中】自动
设置)◼分别修改形状控件Shape1、Shape2、Shape3和Shape4的如下属性:Left:25(可用水平居中自动设置)Width:350Top:42、43、162和163◼为表示字段标题的标签控
件设置相关属性。◼为与字段对应的文本框控件设置相关属性。http://www.wenyuan.com.cn/webnew/7.5.3在表单中显示视图及更新数据◼修改容器控件ButtonSet1的如下属性:Height:48Left:25
Top:176Width:350◼修改命令按钮组中各命令按钮控件的相关属性。◼修改命令按钮控件cmdPrint的Caption属性为:浏览源表。◼为cmdPrint的Click事件添加如下代码:SELEC
T学生BROWSENOMODIFYhttp://www.wenyuan.com.cn/webnew/7.5.3在表单中显示视图及更新数据(3)保存表单。关闭表单设计器窗口,保存对表单的修改。(4)运行表单。在命令窗口键入如下命令:DOFORM更改专业在表单中,用定位按钮或查询按钮,定位到要
修改专业的记录。单击【编辑】按钮进入记录编辑状态,修改当前记录的专业字段值,单击【保存】按钮。单击【浏览源表】按钮,在浏览窗口中可以看到源表相应记录的专业字段值被修改。最后单击ESC键关闭浏览窗口。http://www.wenyua
n.com.cn/webnew/7.6习题http://www.wenyuan.com.cn/webnew/7.6习题1.填空题(1)查询文件的默认扩展名为。(2)若有查询文件:MyQuery.QPR,执行该查询的命令为。(3)查询设计器的【连接】选项卡在创建查询时使用,默认
的连接类型为。(4)与查询设计器【筛选】选项卡设置相对应的SQL_SELECT子句是子句。(5)与查询设计器【排序依据】选项卡设置相对应的SQL_SELECT子句是子句。(6)在查询设计器的“分组依据”选项卡中,“满足条件…”所对应的SQL_SELECT命令子句是子句。(
7)在查询设计器的【杂项】选项卡中,选中“无重复记录”所对应的SQL_SELECT命令的关键字是。(8)在SQL_SELECT命令中,将查询结果输出到表文件中,应该使用子句。http://www.wenyuan.co
m.cn/webnew/7.6习题1.填空题(9)在学生表中查询非党团员学生信息,请写出相应的SQL_SELECT命令:。(10)在学生表和成绩表中查询01班学生的学号、姓名、班级编号和英语成绩,请写出相应的SQL_S
ELECT命令:。(11)在学生表中查询各专业的学生入学最高分,平均分和人数,请写出对应的SQL_SELECT命令:。(12)在学生表中查询英语和管理专业学生的学号、姓名和性别,按专业排序,请写出对应的SQL_SELECT命令
:。(13)使用SQL命令创建表“登记表”,含有:姓名、性别、出生日期、身高、简历和照片字段,对应的命令为:。(14)为(13)题创建的登记表添加一个联系电话字段,对应的SQL命令为:。(15)将(13)题创建的登记表的身高字段
删除,对应的SQL命令为:。http://www.wenyuan.com.cn/webnew/7.6习题1.填空题(16)向(13)题所创建的登记表中添加一条记录:章晓明,男,1980年5月31日出生,对应的SQL命令为:。(17)在(16)题的结果上,向登记表中写入章晓明的联系
电话:01012345678,对应的SQL命令为:UPDATE登记表SETWHERE。(18)使用SQL命令创建视图:计算机学生选课,其中含有计算机专业学生的学号、姓名、专业和课程名,请对如下命令填空:CREATESQLASSELE
CT学号,姓名,专业,;FROM学生,WHERE。(19)删除(13)题所创建的表,对应的SQL命令为:DROP登记表。(20)删除(16)题所创建的视图,对应的SQL命令为:DROP计算机学生选课。http://www.wenyuan.co
m.cn/webnew/7.6习题2.选择题(1)通过选择相应菜单打开一个在当前目录下已经存在的查询文件MyQuery.QPR后,系统在命令窗口自动生成的命令是()。AOPENQUERYMyQuery.QPRBMODIFYQUERYMyQuery.QPRCDOQUERYM
yQuery.QPRDCREATEQUERYMyQuery.QPR(2)在VisualFoxPro中,关于视图的正确叙述是()。A视图与数据库表相同,用来存储数据B视图不能同数据库表建立连接C在视图上不能进行更新操作D视图是从一个或多个数据库表导出的虚拟表(3)下面有关视图的描述正确的
是()。A可以使用MODIFYSTRUCTURE命令修改视图的结构B视图不能删除,否则影响源表C视图是由表复制产生的D使用SQL_SELECT命令对视图进行查询时,必须事先打开该视图所在的数据库http://www.wenyuan.com.cn/we
bnew/7.6习题2.选择题(4)视图设计器中含有的、而查询设计器中没有的选项卡是()。A筛选B排序依据C分组依据D更新条件(5)在SQL语句中,与表达式"入学成绩BETWEEN590AND610"功能相同的表达式是()。A入学成绩>=590AND入学成绩<=610B入
学成绩>590AND入学成绩<610C入学成绩<=590AND入学成绩>610D入学成绩>=590OR入学成绩<=610(6)在SQL语句中,与表达式“班级编号NOTIN("01","02")”功能相同的表达式是()。A班级编号="01"AND班级编号="02"B班级编
号!="01"OR班级编号#"02"C班级编号<>"01"OR班级编号!="02"D班级编号!="01"AND班级编号!="02"http://www.wenyuan.com.cn/webnew/7.6习题2.选择题(7)SQL_SELECT命令的默认输出方向是浏览窗口,命令执行后,要退出这个浏览
窗口,应该按的键是()。AALTBDELETECESCDRETURN(8)使用SQL_SELECT命令进行分组检索时,为了去掉不满足条件的分组,应当使用()。AWHERE子句B在GROUPBY后面使用HAV
ING子句C先使用WHERE子句,再使用HAVING子句D先使用HAVING子句,再使用WHERE子句(9)在SQL_SELECT嵌套查询中,与量词ANY同意的词是()。AALLBEXISTCINDSOME(10)下面有关HAVING子句描述错误的是()。AH
AVING子句必须与GROUPBY子句同时使用,不能单独使用B使用HAVING子句的同时不能使用WHERE子句C使用HAVING子句的同时可以使用WHERE子句D使用HAVING子句的作用是限定分组的条件http://www.wenyuan.com.cn/webnew/7.6习题3.简
答题(1)查询设计器含有哪几个选项卡?每个选项卡的主要用途为何?(2)视图设计器含有哪几个选项卡?每个选项卡的主要用途为何?(3)在使用查询设计器设计查询时,可以为查询结果指定哪几种输出方向?默认的输出方向为何?(4)试述视图与查询的区别。(5)试总结运行查询的几
种方式。(6)视图在使用上与表极为相似,但视图可以从数据库中移出,变得像自由表一样吗?为什么?视图的修改途径和表的修改途径一样吗?(7)如何删除视图?如何删除查询?(8)本章介绍了VisualFoxPro
的哪几种SQL命令?每种命令的主要作用为何?http://www.wenyuan.com.cn/webnew/7.6习题4.操作题(1)使用查询设计器分别按如下要求创建查询:①按填空题9要求创建Q1_1.QPR,输出到浏览窗口。②
按填空题10要求创建Q1_2.QPR,输出到临时表T2。③按填空题11要求创建Q1_3.QPR,输出为图表。④按填空题12要求创建Q1_4.QPR,输出到表文件Q3。(2)使用视图设计器,在学生管理数据库中,分别按如下要求创建视图:①创建视图V2_1,内容为被选修的课程名。②按填空题13要
求创建视图V2_2,然后浏览所创建视图,最后删除该视图。③创建可更新源表视图V2_3,含有学生的学号、姓名和英语成绩,其中英语成绩字段为可更新字段,然后浏览所创建视图,修改英语字段值,观察成绩表相应字段值的变化。④创建参数视图V2_4,可根据运行时的输入,按班级编号浏
览学生档案信息。