登陆注册
8915300000034

第34章 数据库应用(3)

点击菜单或工具栏中的“关系”,将“显示表”中的3个表通过双击添加到关系窗口中;再用鼠标拖动“学生”表中的“学号”字段放到“成绩”表中的“学号”字段上,系统会跳出“编辑关系”的界面,点击“联接类型”,按提示选择相应的项目即可。用同样的方法建立“课程”表与“成绩”表的关联。

7.4建立查询

建立查询,可以从数据库中提取出所需的数据,并进行检索、组合、重用和分析数据。

查询可以从一个或多个表中检索数据,也可以使用一个或多个查询作为其他查询或是窗体、报表和数据访问页的数据源。查询所返回的数据称为记录集。一旦建立了查询,无论何时运行查询,都会检索到数据库中的最新数据。

7.4.1用向导创建简单查询

通过向导创建查询的方法非常简单,只要在数据库窗口中点击“查询”,双击“使用向导创建查询”,在向导操作对话框中选择数据源(一个或多个表或查询)以及所关注的字段,依照引导界面就可以方便地完成创建工作。

“学生”表为数据源,选择其中有关通讯联系的字段组成的“学生联系方式一览表”的查询创建界面。

以“学生”表为数据源,由若干字段组成“学生联系方式一览表”的查询创建界面,从三个数据表中提取相应的字段重新组合的记录集“成绩查询1”,并按“学号”和“课程号”排序。

7.4.2在设计视图中创建查询

通过向导创建的查询,虽然简单快捷,但实现的效果也简单,完成的功能有限,有些个性化的信息查询还是需要自己来设计。

前面的“成绩查询1”和“学生分类成绩统计查询”,也可以通过“在设计视图中创建查询”完成或者进行修改。在这里创建各类查询会更灵活,更容易贴合应用的需求。

将“显示表”中的表或查询(数据源)添加到“查询1”窗口中;再将需要的字段拖放到对应的网格中;然后设置用来检索数据的排序方式、统计或条件等;最后保存即完成了创建查询的工作。

7.4.3创建参数匹配信息查询

在“学籍信息管理系统”的数据库应用示例中除了对指定数据源的固定字段的查询之外,还需要对从键盘输入的参数进行匹配信息查询。如:“按输入学号(可匹配)查询成绩”、“按输入姓名(可匹配)查询成绩”、“按输入课程名(可匹配)查询成绩”、“按输入课程号(可匹配)查询成绩”、“按课程和分数查询成绩”以及“按输入分数档查询成绩”等,这些查询的数据源都是前面创建的“成绩查询1”,而要求的查询结果却各不相同。

实现这类参数匹配信息查询并不复杂,只要在查询设计视图的网格中填写相应的参数信息匹配条件表达式即可,而运行时系统会跳出一个对话框来提示用户输入定义为参数的字段值或变量值,需要注意的是输入的参数值应该与匹配的字段或其所处的表达式在数据类型上保持一致。这其中需要了解一些表达式构成规则和数据描述方面的基础知识。

是分别“按输入姓名(可匹配)查询成绩”、“按课程和分数查询成绩”以及“按输入分数档查询成绩”进行参数匹配信息查询的设计界面。

一个表达式可以由数值计算或字符串组成,也可以包含列名、文字、运算符及函数的任何组合。罗列了Microsoft Access 常用的运算符和函数的用法和意义。

7.5结构化查询语言SQL

7.5.1SQL概述

结构化查询语言(Structured Query Language,SQL)是基于关系数据库的数据库查询语言,也是数据库信息处理的国际标准化语言。

利用SQL语言我们不需要写出应该如何做某件事情,而只需写出要做什么就可以了。SQL语言具有定义、插入、修改、删除和查询等多项功能,使用简单、功能强大,实现数据库系统应用的各种程序设计语言基本上都支持SQL语言。

SQL结构化查询语言具有以下常用语句:

(1)创建表语句:CREATE TABLE‐SQL;

(2)修改表语句:ALTER TABLE‐SQL;

(3)删除信息语句:DELETE‐SQL;

(4)插入信息语句:INSERT‐SQL;

(5)修改信息语句:UPDATE‐SQL;

(6)查询信息语句:SELECT‐SQL。

当设计完数据库之后,多数应用程序都是利用SQL语言来访问存储在数据库中的所需信息。从简单表的分类类型到从多个表中挑选拥有同一个特征条件的记录子集,SQL语言被认为是完成数据库信息操作的一个功能强大的实用工具。

SELECT‐SQL语句完成的功能示意图在SQL语言的诸多语句中,使用最频繁且应用最广泛的是SELECT‐SQL查询语句。

一个查询指的是从一个或多个数据库中提取信息的一种方法,特别是要依照一定的顺序或符合一定的标准,SELECT‐SQL语句是这种规则和标准的具体体现。

或许,将SQL语言理解为子语言更为合适,因为SQL没有任何屏幕处理或用户输入输出的能力,一般需要嵌入到其他的宿主语言(如Visual Basic、Visual C、Delphi 等)中调用,它的主要目的在于提供访问数据库的标准方法,而不管数据库应用的其余部分是用什么语言编写的,它既是为数据库信息的交互式查询而设计的(动态SQL),也可以在过程化语言编写的数据库应用程序中使用(嵌入SQL)。

添加到应用程序中的查询,可以对数据源进行各种组合,并有效地筛选记录、管理数据并对结果排序。所有这些工作都是用SELECT‐SQL语句完成的。通过使用SELECT ‐SQL语句,我们可以完全控制查询结果以及结果的存放位置。事实上,前面通过向导或设计视图建立的所有查询对象,都可以转换为使用SELECT‐SQL语句来完成和实现,而且使用SELECT‐SQL语句来完成各类查询会更简单、快捷。

7.5.2SELECT 数据查询语句

利用SELECT 语句可以实现多种查询功能,该语句的格式选项很多,但本节重点只介绍其中最常用的部分,其余选项读者可参考其他相关资料。

1.SELECT 语句格式

SELECT 语句的完整格式比较冗长,在此,我们仅仅给出SELECT 语句的最常用格式。

SELECT<待选字段表>FROM<数据表>[WHERE<选取条件>][ORDER BY<排序字段名表>]常用格式给出了SELECT语句的主要选项框架,其中:

待选字段表:是语句中所要查询的数据表字段表达式的列表,多个字段表达式必须用逗号隔开。如果在多个表中提取字段,最好在字段前面冠以该字段所属的表名作前缀,如:学生.姓名,成绩.学号。

数据表:是语句中查询所涉及的数据表列,多个表必须用逗号隔开。

选取条件:是语句的查询条件(逻辑表达式),如果是从单一表对象中提取数据,此查询条件表示筛选记录的条件;如果是从多个表对象中提取数据,那么此查询条件除了筛选记录的条件外,还应该加上多个表对象的连接条件。

排序字段名表:该语句中有此项,则对查询结果进行排序。ASC表示按字段升序排序,DESC表示按字段降序排序。缺省该选项,则按各记录在数据表中原先的先后次序排列。

2.SELECT 语句查询示例

前面提到将SQL语言理解为子语言更为合适,因为SQL没有任何屏幕处理或用户输入输出的能力,一般需要嵌入到其他的宿主语言(如Visual Basic、Visual C、Delphi 等)中调用,所以为了学习和测试SELECT 语句的功能,可以直接在Access 的查询设计视图中的“SQL视图”窗口中进行。

(1)查询单表所有字段内容。

例如,选择数据库学籍管理的学生表中所有记录的所有字段(“*”表示所有的字段全部选取)。

Select *From 学生

(2)查询单表部分字段内容。

例如,将“学生”表中所有记录的字段名“学号”、“姓名”、“性别”和“奖学金”改名为“学生编号”、“姓名”、“男生女生”和“所获奖学金”显示出来。

Select 学号As 学生编号,姓名As 学生姓名,IIF(性别,"男","女")As 男生女生,奖学金As 所获奖学金From 学生。

说明:关键字As 后面就是重新命名的字段标题,用来代替原表中的字段名。

(3)查询单表满足条件内容。

例如,选择“成绩”表中所有分数小于60的学号。

Select distinct 学号From成绩where分数<60。

说明:使用关键字distinct是因为假如用Select学号From成绩,则如果某个学生有多门课程不及格,则该学生的学号会显示多次,在本例中只需显示一次即可。关键字distinct可以将重复记录去掉。

例如,找出“070211”班所有学生奖学金的最高值、最低值和平均值。

同类推荐
  • 音视频合成制作

    音视频合成制作

    本书共分4篇6章,其中第1篇简介音视频合成的编导基础,第2篇主要介绍Sony Cinescore 1电影音乐自动合成,第3篇主要介绍Vegas 7.0音视频剪辑合成,第4篇主要介绍Adobe Audition 2.0、Cakewalk SONAR 6和Steinberg Nuendo 3的音视频合成。本书可以作为音乐、美术、动画、舞蹈、影视、戏剧等艺术院校视听艺术合成制作课程的教材,也可以作为相关人员的自学用书。
  • 学校计算机实用技术

    学校计算机实用技术

    本书由杭州市上城区教育学院编著,他们邀请了众多信息技术教育教学的一线专家,认真细致地筛选了学校计算机应用方面的常见问题,提出了解决问题的具体操作方案,旨在帮助一线教育工作者解决可能面临的种种问题,为广大教师提供便捷服务。
  • 小型局域网组建与维护

    小型局域网组建与维护

    本书以组建和维护小型局域网为主线,面向实际工程应用,按照项目化课程模式的要求组织编排。全书共分8个项目,主要包括认识计算机网络一概述、绘制小型网络拓扑图、连接网络一传输介质、连接网络一联网设备、认识计算机网络一网络协议、连接网络一网络寻址、组建小型交换网络——配置交换机、连接互联网——配置宽带路由器。每个项目都有明确的工作目标、工作任务、实现过程和知识点分析,力求集教、学、做于一体,从而更好地激发学生的学习兴趣,培养学生的动手能力。
  • 中国网络传播研究2009(第三辑)

    中国网络传播研究2009(第三辑)

    本文以传统社区研究的“场域论”为基础,探讨网络传播中场域性互动对社会舆论的影响。文章首先从传统社区传播的场域性特征出发,探讨网络传播的社区性和场域性。然后分别分析了传统门户、BBS论坛和私人博客等三种主流的网络传播的场域性互动、意见表达和舆论形成的特点。最后结合“张殊凡事件”、“王石捐款”事件以及“黑砖窑”事件,探讨网络传播中的场域性互动对社会舆论从虚拟到现实的影响。
热门推荐
  • 天罪纪元

    天罪纪元

    天道崩灭仙庭破碎,六道轮回地府无魂,是为天罪纪元。当世上没有了神,而人有了异能,人以为自己可以当神,却出现了真正的神。
  • 仙山画笔

    仙山画笔

    我有一笔,可绘天地。我有一笔,可摹心境。但,这一切都非我所愿也!
  • 武道大宗师

    武道大宗师

    传说在九万里高的苍穹上,有着一座世人不可见的神山,收藏着自人类诞生以来所有的秘籍,总计一亿三千万本。其中有撼动天地的秘诀,有救死扶伤的医书,有教化蛮夷的圣学,有精通星宿的古典。有一天,一个叫林悬的少年,带着这座神山,重生一亿年前……
  • 重生桀骜不驯的人生

    重生桀骜不驯的人生

    体会青春的回忆和社会变迁奋斗生活经历,前世孤单叛逆,今生重走人生路,感恩家人亲情,感恩兄弟友情,只为活的精彩。这里没有华丽辞藻,没有美轮美奂的风景,只有重温那份艰辛与苦涩,为了更好的生活,在阳光下的打拼挣扎。
  • 帅盗修仙传

    帅盗修仙传

    天下第一帅盗唐无恋为盗仙元玉石,不幸与爱人落难死去醒来竟发现变回十五岁呆蠢模样,一个美女哭着求着拜他为师要学习盗术三个耿直兄弟哭着求着要做他小弟在这个人吃人进化的死人世界,他发现自己妙手空空竟能轻松盗出别人体内仙元武印从此开启一段死人修仙,盗行天下的死人故事【打破穿越文创新】【修改多年的处女作】【著有两百万作品,入坑有保障】
  • 二在江湖

    二在江湖

    我本无意纷争,奈何身在江湖。看破三千红尘,能留一片清心?人生如戏,戏如人生。穿越前,宅男宅小二活的糊涂,以至于都分不清自己是身在现实,还是身在梦中。穿越后,他来到了另一个世界,不想再走以前的老路,决定换一种活法,活出更加精彩的自己。
  • 镇魂印

    镇魂印

    人死入葬,画冥妆、穿寿衣、下葬等头七。但有天我看到女人穿着大红嫁衣下葬,她却没有等头七。在送葬的路上有那么多人张望,她偏偏选上了我……
  • 星灭无痕

    星灭无痕

    寂寞而冰冷的宇宙中,人类无法跳出银河系。是囚笼?似乎并不像。人类资源已经耗尽,“最后的希望”号带回来的回星辰石是希望吗?未来的地球将会变成什么样?未来人类又将如何生存呢?
  • 君宠绝恋之皇后太忙

    君宠绝恋之皇后太忙

    在一起三年,男朋友两年半都在劈腿。一个意外,她穿越到了古代,开个外挂得个阿拉丁神灯。一代女汉子,上得了歌房,下得了厨房,翻得了围墙,打得了色狼。片段一:“皇上,皇后娘娘被绑票了!”“绑哪了?”“被卖到青楼了!”“把那老鸨掐死后鞭尸,喂猪!”“嗯!唉~人呢?”风一样的男子。
  • 百万英镑

    百万英镑

    一个穷困潦倒的办事员美国小伙子亨利·亚当斯在伦敦的一次奇遇。伦敦的两位富翁兄弟打赌,把一张无法兑现的百万大钞借给亨利,看他在一个月内如何收场。一个月的期限到了,亨利不仅没有饿死或被捕,反倒成了富翁,并且赢得了一位漂亮小姐的芳心。文章以其略带夸张的艺术手法再现大师小说中讽刺与幽默,揭露了20世纪初英国社会的拜金主义思想,是马克·吐温作品精选中不可忽略的重要作品,是一部非常经典的短篇小说。