第5 章 查询与视图 - vir.jxstnu.edu.cnvir.jxstnu.edu.cn/wskc/vfp/jiaocai/pdf/5.pdf · 第5...

19
5 查询与视图 学习目标 在本章中将学习: l 查询文件的建立、修改与使用 l 视图文件的建立、查看与修改 5.1 查询 所谓查询,就是在数据库或表中查找满足某种条件的记录,并根据需要把查询结果进行各种处理。 利用查询可以为其他数据库提供新的数据表,既可以从单表提取有用的数据,也可从多表提取综合信 息。查询文件是以.qpr 为扩展名,它可以通过查询向导和查询设计器来创建。 5.1.1 查询向导创建查询文件 查询向导是一种简单、实用的查询设计工具,根据向导指示, 按步骤完成任务即轻松创建查 询文件。我们通过一进行说明如何使用查询向导。 【例 5-1】使用“学生成绩数据库”中的数据表“student”,通过查询向导设计一个查询文件“student 查询 1”,要求查询结果包含学号、姓名、性别和系科,以姓名升序排列。 操作步骤1Visual FoxPro 系统主菜选择“文件,进入“新建”窗口2新建”窗口选择“查询”选项再按“向导”按钮,进入“向导”窗口5-1 示。 5-1 向导选取 3向导”窗口中,选择“查询向导,进入步骤 1-字段选取,5-2 所示。

Upload: others

Post on 24-Feb-2020

86 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 第5 章 查询与视图 - vir.jxstnu.edu.cnvir.jxstnu.edu.cn/wskc/vfp/jiaocai/pdf/5.pdf · 第5 章 查询与视图 学习目标 在本章中将学习: l 查询文件的建立、修改与使用

第 5章 查询与视图

学习目标

在本章中将学习: l 查询文件的建立、修改与使用 l 视图文件的建立、查看与修改

5.1 查询

所谓查询,就是在数据库或表中查找满足某种条件的记录,并根据需要把查询结果进行各种处理。

利用查询可以为其他数据库提供新的数据表,既可以从单表提取有用的数据,也可从多表提取综合信

息。查询文件是以.qpr为扩展名,它可以通过查询向导和查询设计器来创建。

5.1.1 查询向导创建查询文件

查询向导是一种简单、实用的查询设计工具,根据向导指示,按步骤完成其任务即可轻松创建查

询文件。我们通过一个实例进行说明如何使用查询向导。

【例 5-1】使用“学生成绩数据库”中的数据表“student”,通过查询向导设计一个查询文件“student查询 1”,要求查询结果包含学号、姓名、性别和系科,以姓名升序排列。 操作步骤: 1. 在 Visual FoxPro系统主菜单下,选择“文件”,进入“新建”窗口。 2. 在“新建”窗口,选择“查询”选项,再按“向导”按钮,进入“向导选取”窗口,如图 5-1 所示。

图 5-1 向导选取

3. 在 “向导选取”窗口中,选择“查询向导”,进入步骤 1-字段选取,如图 5-2所示。

Page 2: 第5 章 查询与视图 - vir.jxstnu.edu.cnvir.jxstnu.edu.cn/wskc/vfp/jiaocai/pdf/5.pdf · 第5 章 查询与视图 学习目标 在本章中将学习: l 查询文件的建立、修改与使用

图 5-2 字段选取

选择学号、姓名、性别和系科等字段在“选定字段”中,如图 5-3所示。

图 5-3 选定选取

4. 点击“下一步”按钮,进入步骤 3-筛选记录,如图 5-4所示。

注意

由于只有一张表,步骤 2-表的关联关系,直接跳过。

Page 3: 第5 章 查询与视图 - vir.jxstnu.edu.cnvir.jxstnu.edu.cn/wskc/vfp/jiaocai/pdf/5.pdf · 第5 章 查询与视图 学习目标 在本章中将学习: l 查询文件的建立、修改与使用

图 5-4 筛选记录

5. 点击“下一步”按钮,进入步骤 4-排序记录,如图 5-5所示。

图 5-5 排序记录

选择单价字段在“选定字段”中。

注意

步骤 4可过渡到步骤 4a-限制记录,可限制查询到第 1个或最后 1个记录。

Page 4: 第5 章 查询与视图 - vir.jxstnu.edu.cnvir.jxstnu.edu.cn/wskc/vfp/jiaocai/pdf/5.pdf · 第5 章 查询与视图 学习目标 在本章中将学习: l 查询文件的建立、修改与使用

6. 点击“下一步”按钮,进入步骤 5-完成,如图 5-6所示。

图 5-6 完成

选择“保存查询”按钮,再按“完成”按钮,进入“另存为”窗口,输入查询文件名“student 查询 1”,并按“保存”按钮,完成查询向导创建单表查询文件的操作。

知识链接

查询向导创建多表查询文件的操作,可设置步骤 2-表的关联关系。

5.1.2 查询设计器创建查询文件

使用查询设计器是创建查询文件的基本方法,较查询向导创建查询,更加灵活,同时还可以产生不

同的输出方式。我们利用上一个实例通过查询设计器创建查询文件来说明。

【例 5-2】使用“学生成绩数据库”中的数据表“Student”,通过查询设计器设计一个查询文件“Student查询 2”, 要求查询结果包含学号、姓名、性别和系科,以姓名升序排列。 操作步骤:

1. 在 Visual Foxpro系统主菜单下,选择“文件”,进入“新建”窗口。 2. 在“新建”窗口,选择“查询”选项,再按“新建”按钮,进入“新建查询”对话框,单击“新建查询”,出现“添加表或视图”对话框和“查询设计器”窗口,如图 5-7所示。

Page 5: 第5 章 查询与视图 - vir.jxstnu.edu.cnvir.jxstnu.edu.cn/wskc/vfp/jiaocai/pdf/5.pdf · 第5 章 查询与视图 学习目标 在本章中将学习: l 查询文件的建立、修改与使用

图 5-7 “查询设计器”窗口

3. 在“数据库”下拉列表选择待查询的数据库,“数据库中的表”列表框用于选择指定数据库中的表,同时选择“添加”按钮,把相关表添加到“查询设计器”窗口,如图 5-8所示。

图 5-8 添加数据表的“查询设计器”窗口

4. 设置“字段”选项卡 “字段”选项卡用来查询显示的字段。可单击“添加”按钮,把要求我们需查询的字段依次添加

到“选定字段”区中。如果要选择全部字段,可直接单击“全部添加”按钮。

注意

在“函数和表达式”文本框中,可输入计算表达式,也可单击右侧的“…”按钮,通过表达式生成

器生成相应表达式。如图 5-9所示。

Page 6: 第5 章 查询与视图 - vir.jxstnu.edu.cnvir.jxstnu.edu.cn/wskc/vfp/jiaocai/pdf/5.pdf · 第5 章 查询与视图 学习目标 在本章中将学习: l 查询文件的建立、修改与使用

图 5-9 表达式生成器

5. 设置“联接”选项卡 “联接类型”系统有四种选项,分别是:

内部联接(Inner Join):显示两个表中相匹配的记录;

右联接(Right Join):显示右侧表所有记录以及左侧表中和右侧表匹配的记录;

左联接(Left Join):显示左表所有记录以及右侧表中和左侧表匹配的记录;

完全联接(Full Join):显示两个表中所有的记录。

其效果如图 5-10所示。

图 5-10 “联接”选项卡

6. 设置“筛选”选项卡 它用来设置查询的筛选条件。通过使用设定条件,筛选出满足要求的记录。如图 5-11所示。

Page 7: 第5 章 查询与视图 - vir.jxstnu.edu.cnvir.jxstnu.edu.cn/wskc/vfp/jiaocai/pdf/5.pdf · 第5 章 查询与视图 学习目标 在本章中将学习: l 查询文件的建立、修改与使用

图 5-11 “筛选”选项卡

7. 设置“排序依据”选项卡 它用来设置结果按照某些字段的值作为排序依据。在“选定字段”中,选择要排序的字段,然后

单击“添加”按钮,进入“排序条件”窗口中,并设置其排序方法。排序的方法有升序和降序两种,

选择相应的单选按钮,如图 5-12所示。

图 5-12 “排序依据”选项卡

8. 设置“分组依据”选项卡 它是将查询结果按某字段把相同数据值的记录排在一起,使其成为一组,这样数据就有若干组,

如图 5-13所示。

Page 8: 第5 章 查询与视图 - vir.jxstnu.edu.cnvir.jxstnu.edu.cn/wskc/vfp/jiaocai/pdf/5.pdf · 第5 章 查询与视图 学习目标 在本章中将学习: l 查询文件的建立、修改与使用

图 5-13 “分组依据”选项卡

9. 设置“杂项”选项卡 它主要用于选择查询文件中显示的记录,如图 5-14所示。

图 5-14 “杂项”选项卡

10. 保存查询文件 利用“查询设计器”窗口,设置各选项卡,然后直接关闭其窗口,在“另存为”窗口中输入查

询文件名及保存的路径,即可将查询文件保存。

5.1.3 使用查询

1.执行查询文件 查询文件是一个 SQL程序。若要“打开”它,实际上打开的是“查询设计器”窗口。因此,想要

查看查询结果,则必须运行查询程序。 【例 5-3】利用已有的查询文件“student查询 2”,执行查询文件,查看其查询结果。

本例有以下几种方法实现:

Page 9: 第5 章 查询与视图 - vir.jxstnu.edu.cnvir.jxstnu.edu.cn/wskc/vfp/jiaocai/pdf/5.pdf · 第5 章 查询与视图 学习目标 在本章中将学习: l 查询文件的建立、修改与使用

l 打开“查询设计器”,在“查询”下拉菜单中单击“运行查询”选项;

l 打开“查询设计器”,在工具栏中单击“运行”图标;

l 打开“查询设计器”,按快捷键 Ctrl+Q;

l 在命令窗口执行命令:Do销售表查询 2.qpr

程序运行结果如图 5-15所示。

图 5-15 查询文件“student查询 2”的运行结果

2.查询文件的输出方式 当执行查询文件时,系统默认的输出方式是浏览器窗口显示。而 Visual FoxPro允许用户选择其它

输出方式。 查询文件的输出方式操作如下: (1)打开“查询设计器”,在主菜单的“查询”下拉菜单中,选择“查询去向”; (2)在“查询去向”窗口中,系统提供了以下七种输出格式,用户根据需要选择其输入方式,如

图 5-16所示: l “浏览”格式:把查询结果以浏览窗口方式输出;

l “临时表”格式:把查询结果存放在一个临时的数据表中,可以根据需要任意处理这个临时表;

l “表”格式:把查询结果存放在一个数据表中,当关闭这个数据表后,查询结果仍将存放在磁盘上;

l “图形”格式:把查询结果以图形方式输出;

l “屏幕”格式:把查询结果输出到屏幕中:

l “报表”格式:把查询结果输出到报表中(详见报表与标签);

l “标签”格式:把查询结果输出到标签中(详见报表与标签)。

Page 10: 第5 章 查询与视图 - vir.jxstnu.edu.cnvir.jxstnu.edu.cn/wskc/vfp/jiaocai/pdf/5.pdf · 第5 章 查询与视图 学习目标 在本章中将学习: l 查询文件的建立、修改与使用

图 5-16 “查询去向”窗口

注意

运行查询文件前,先设置其“查询去向”,然后观察其查询结果。

3.查询文件的修改和查看 (1)查询文件的修改 若对查询结果不满意,可对查询文件随时修改。用“查询设计器”打开其查询文件,修改任何一项

设计,完成后,在“文件”菜单中选择“保存”即可。 (2)查询文件的查看 若要查看系统的查询程序,可打开“查询设计器”窗口,通过“查询”下拉菜单中,选择“查看

SQL”选项即可。如图 5-17所示

图 5-17 选择“查看 SQL”选择

注意

系统打开的程序编辑窗口,以“只读”的方式显示,不能修改其 SQL语言程序。

5.2 视图

所谓视图,就是由其他表(一表或多表)所选择的信息形成的虚拟表,但可以像数据表一样使用。

Page 11: 第5 章 查询与视图 - vir.jxstnu.edu.cnvir.jxstnu.edu.cn/wskc/vfp/jiaocai/pdf/5.pdf · 第5 章 查询与视图 学习目标 在本章中将学习: l 查询文件的建立、修改与使用

视图是不能单独存在,它依赖于数据库中的数据表而存在,只有打开与视图相关的数据库才能操作视图。 视图分为本地视图和远程视图,本地视图是利用 SQL语句从本地表或其他本地视图中选择信息,

而远程视图是利用 SQL语句从远程数据源表中选择信息。 本节主要阐述本地视图的创建及使用,其方法和查询类似,所以对于视图的创建,我们也从视图向

导和视图设计其作简单介绍。

5.2.1 使用视图向导创建视图

【例 5-4】使用“学生成绩数据库”中的数据表“student”,通过视图向导设计一个视图“student视图 1”, 要求查询结果包含学号、姓名、性别和系科,以姓名升序排列。 操作步骤: 1.打开数据库文件“学生成绩数据库”,进入数据库设计器窗口,如图 5-18所示。

图 5-18 “学生成绩数据库”数据库设计器

2.在 Visual Foxpro系统主菜单下,选择“文件”,进入“新建”窗口。 3.在“新建”窗口,选择“视图”选项,再按“向导”按钮,步骤 1-字段选取窗口,如图 5-19

所示。

Page 12: 第5 章 查询与视图 - vir.jxstnu.edu.cnvir.jxstnu.edu.cn/wskc/vfp/jiaocai/pdf/5.pdf · 第5 章 查询与视图 学习目标 在本章中将学习: l 查询文件的建立、修改与使用

图 5-19 视图字段选取

4.在步骤 1-字段选取窗口中,选择要查询的字段,点击“下一步”按钮,进入步骤 3-筛选记录,如图 5-20所示。

图 5-20 视图筛选记录

注意

由于只有一张表,步骤 2-表的关联关系,直接跳过。

5.点击“下一步”按钮,进入步骤 4-排序记录,选择“姓名”作为排序字段,选中升序,如图5-21所示。

Page 13: 第5 章 查询与视图 - vir.jxstnu.edu.cnvir.jxstnu.edu.cn/wskc/vfp/jiaocai/pdf/5.pdf · 第5 章 查询与视图 学习目标 在本章中将学习: l 查询文件的建立、修改与使用

图 5-21 视图排序记录

6.点击“下一步”按钮,进入步骤 4a-限制记录,可限制查询到第 1个或最后 1个记录。如图 5-22所示。

图 5-22 视图限制记录

7.点击“下一步”按钮,进入步骤 5-完成,如图 5-23所示。

Page 14: 第5 章 查询与视图 - vir.jxstnu.edu.cnvir.jxstnu.edu.cn/wskc/vfp/jiaocai/pdf/5.pdf · 第5 章 查询与视图 学习目标 在本章中将学习: l 查询文件的建立、修改与使用

图 5-23视图完成

8.点击“完成”按钮,保存本地视图在数据库中,如图 5-24所示。

图 5-24视图被保存在数据库中

知识链接

视图向导创建多表视图的操作,可设置步骤 2-表的关联关系。

5.2.2 使用视图设计器创建视图

【例 5-5】使用“学生成绩数据库”中的数据表“student”,通过视图设计器设计一个视图 “student视图 2”, 要求查询结果包含学号、姓名、性别和系科,以姓名升序排列。 操作步骤: 1.打开数据库文件“学生成绩数据库”,进入数据库设计器窗口,如图 5-18所示。 2.在 Visual Foxpro系统主菜单下,选择“文件”,进入“新建”窗口。 3.在“新建”窗口,选择“视图”选项,再按“新建”按钮,进入视图设计器窗口,如图 5-25所

示。

Page 15: 第5 章 查询与视图 - vir.jxstnu.edu.cnvir.jxstnu.edu.cn/wskc/vfp/jiaocai/pdf/5.pdf · 第5 章 查询与视图 学习目标 在本章中将学习: l 查询文件的建立、修改与使用

图 5-25视图设计器

在“视图设计器”窗口中,选择“可用字段”中的“学号”、“姓名”、“性别”和“院系”等字段

添加到“选定字段”框中,并在“排序依据”选项卡中,选择“学号”字段作为升序。

注意

视图设计器界面与查询设计器界面类似,其设置方法也类似。

4.按“视图设计器”窗口的“退出”按钮,进入“系统”窗口,如图 5-26所示。

图 5-26是否保存视图对话框

5.在“系统”窗口,按“是”按钮,进入视图“保存”窗口,输入“student 视图 2”,如图 5-27所示。

图 5-27视图保存

Page 16: 第5 章 查询与视图 - vir.jxstnu.edu.cnvir.jxstnu.edu.cn/wskc/vfp/jiaocai/pdf/5.pdf · 第5 章 查询与视图 学习目标 在本章中将学习: l 查询文件的建立、修改与使用

6.在视图“保存”窗口,按“确定”按钮,一个视图文件建立完成,同时被存放在打开的数据库中。

5.2.3 视图与数据更新

在“视图设计器”窗口中,有“更新条件”选项卡,它是视图设计器所特有的,因为系统允许用户

通过视图修改源表中的数据,“更新条件”选项卡如图 5-28所示。

图 5-28视图“更新条件”

【例 5-6】利用视图 “student视图 2”,更新“student”表中“性别”字段名下的数据。 操作步骤: 1.打开数据库文件“学生成绩数据库”,进入数据库设计器窗口,激活“student 视图 2”,并单击

鼠标右键,选择“修改”,进入“视图设计器”窗口,如图 5-29所示。

图 5-29修改选项

2.在“视图设计器”窗口中,选择“更新条件”选项卡,选择要更新的字段名,如图 5-30所示。

Page 17: 第5 章 查询与视图 - vir.jxstnu.edu.cnvir.jxstnu.edu.cn/wskc/vfp/jiaocai/pdf/5.pdf · 第5 章 查询与视图 学习目标 在本章中将学习: l 查询文件的建立、修改与使用

图 5-30“更新条件”选项卡的设置

注意

表示该字段为可更新字段,若选择“发送 SQL更新”复选框,可把视图的更新结果返回表中。

如上图所示。

3.保存设置,返回系统主菜单下,利用视图可更新数据表中“单价”字段的数据。

5.2.4 视图的使用及查看

(1)视图的使用 在“数据库设计器”窗口中,激活需使用的视图,然后单击鼠标右键,现在浏览,即可查看视图查

询的结果。 (2)视图文件的查看 如果需要查看系统自动生长的视图程序,可打开视图设计窗口,通过以下 3种方式查看视图程序。

l 在“查询”下拉菜单中,选择“查看 SQL”选项; l 在快捷菜单中,单击“查看 SQL”选项; l 在视图设计器的工具栏中,单击“查看 SQL”按钮。 系统将打开程序编辑窗口,如图 5-31所示。

图 5-31 查看 SQL

Page 18: 第5 章 查询与视图 - vir.jxstnu.edu.cnvir.jxstnu.edu.cn/wskc/vfp/jiaocai/pdf/5.pdf · 第5 章 查询与视图 学习目标 在本章中将学习: l 查询文件的建立、修改与使用

本章小结

查询和视图是提取数据库记录、更新数据库数据的一种操作方式。本章主要讲述了使用查询向导和

查询设计器建立查询文件,查询文件的使用和输出方式的设置,查询文件的查看和修改方法。 另外,本章还讲述了使用视图向导和视图设计器建立视图,如何利用“更新条件”更新源表中的数

据,以及视图的查看和使用等方法。

习题五

一、思考题

1.视图和查询的主要异同是什么? 2.如何利用视图修改数据? 3.用自己的话说清楚什么是视图?使用视图有哪些主要的优点?

二、选择题

1.以下关于 VISUAL FOXPRO创建查询的描述正确的是( )。 (A)只能根据数据库表建立查询 (B)只能根据自由表建立查询 (C)可以根据数据库表和自由表建立查询 (D)可以根据数据库表、自由表和视图建立查询 2.在 VISUAL FOXPRO中创建一个查询时,默认的查询去向是( )。 (A)主窗口 (B)表 (C)浏览窗口 (D)报表文件 3.关于 VISUAL FOXPRO中的查询与视图,以下说法错误的是( )。 (A)查询和视图都可以从一个或多个表中提取数据 (B)查询是以扩展名.QPR存储的一个文本文件 (C)可以通过视图更改源数据表的相应数据 (D)视图是完全独立的,它不依赖于数据库的存在而存在 4.VISUAL FOXPRO中的视图设计器包括的选项卡有( )。 (A)字段、筛选、排序依据、更新条件 (B)字段、条件、分组依据、更新条件 (C)条件、排序依据、分组依据、更新条件 (D)条件、筛选、杂项、更新条件 5.下列有关 VISUAL FOXPRO视图的说法中,正确的是( )。 (A)视图是独立的文件,它存储在数据库中 (B)视图不是独立的文件,它存储在数据库中 (C)视图是独立的文件,它存储存视图文件中 (D)视图的输出去向可以是浏览窗口或表 6.查询设计器与视图设计器的主要区别表现在—— (A)查询设计器有“更新条件”选项卡,但没有“查询去向”选项 (B)查询设计铅没有“更新条件”选项卡,但有“查询去向”选项 (C)视图设汁器没有“更新条件”选项卡,但有“查询去向”选项 (D)视图设计器有“更新条件”选项卡,同时有“查询去向”选项

三、上机操作题

Page 19: 第5 章 查询与视图 - vir.jxstnu.edu.cnvir.jxstnu.edu.cn/wskc/vfp/jiaocai/pdf/5.pdf · 第5 章 查询与视图 学习目标 在本章中将学习: l 查询文件的建立、修改与使用

1.有图书数据表(图书.DBF)如下:

请创建查询文件,要求只显示“书名”和“单价”字段,分别按浏览方式和图形方式输出。 2.为前面所建立的“通讯录管理系统”数据库创建一个视图,视图中只包含姓名、移动电话、EMAIL、QQ号等字段。