Access数据库中查询浅析
摘要:本文以Access2003为平台,以“图书管理”数据库为例,通过实例介绍了参数查询和SQL查询的创建过程及应注意的事项,对学习Access2003的有一定参考和借鉴的作用。
关键词:数据库;Access;查询;参数查询;SQL查询
中图分类号:TP311.138-4
随着计算机技术的发展,数据库技术在现代社会中的应用越来越广泛。比如大到企事业单位,小到个体商户,都在使用数据库系统,有效的管理数据信息,其已成为各行业的重要工具。因而有越来越多的人学习和开发数据库系统。本文将以Access数据库为例,介绍其中的查询对象的使用。
1查询的概念
查询是对数据库中的数据进行查找并对数据进行分析、计算、更新及其他加工处理[1]。数据库中保存的查询,只是一个结构,不占用物理空间,只有在运行时,才根据结构从相应的数据源中提取数据。当查询关闭,运行结果就会消失,再次运行该查询,重新提取数据源中的数据,显示在表视图中[2]。因此,当对应表中的数据发生变化时,查询也会进行相应的更新。
下面在Access2003环境下以“图书管理”数据库(如图1)为例分别探讨参数查询和SQL查询的创建及注意事项。
图1图书管理系统关系图
2参数查询
参数查询是在查询运行时,先输入参数,再根据参数进行查询。根据设定参数的个数不同,可分为单参数和多参数查询。
2.1参数查询的特点
参数查询是一种动态、智能化的查询,可以在每次运行查询时,根据用户输入不同的参数(或条件),进行查询,因此每次运行查询得到的结果就不同[3]。而其他查询,比如选择查询的条件是在创建查询时已设定好,只能查询固定信息,比如查询条件设定为书名是“C语言程序设计”,每次运行查询,只能固定的输出这本图书的相关信息,如果想要查询其他图书信息,则必须重新创建一个查询,或回到查询设计器中修改已有的查询条件。
2.2参数查询的创建
单参数查询和多参数查询的创建方式是相同的。只是查询参数的个数有所区别而已,创建过程是相同的。过程如下:
例:利用图书作者的“姓名”查询出其编写的图书“名称”,“价格”,“出版社”。
题目分析:数据源是“图书表”,参数是“图书表”中“作者”,最终显示的是“书名”、“价格”和“出版社”。
通过查询设计器完成如图2所示。
图2参数查询示意图
参数查询中参数的设定有两种途径。
(1)在“查询设计器”中相应的字段下的条件中,用中括号把参数名称括起来(如图2所示)。
(2)在“查询设计器”中,选择相应的结果列后,选择【参数】菜单(如图3所示)。在打开的“查询参数”界面中(如图4所示),设定参数名称[请输入作者姓名]以及数据类型。其参数名称用中括号括起来,数据类型必须和数据源中涉及到字段的数据类型相同。最后将参数名称[请输入作者姓名]填入“查询设计器”中相应的“作者”字段的“条件”中。
图3参数菜单
2.3参数查询的注意事项
(1)参数的数据类型必须和数据源中涉及到的数据表中的数据类型一致。
(2)参数名称必须用中括号(英文状态下)括起来。
(3)在用第二种方法创建参数查询时,一定要注意在“查询参数”界面(如图4)中输入的“参数名称”必须和在“查询设计器”中相应字段条件下输入的“参数名称”一字不差。
图4参数设定
3SQL查询
SQL(StructuredQueryLanguage)语言是一种被关系数据库产品广泛使用的标准结构化查询语言。可以对数据库进行多种操作,例如定义、查询等,其中数据查询是数据库的核心操作,其功能是指根据用户的需要以一种可读的方式从数据库中提取所需数据,由SQL的数据操纵语言的SELECT语句实现[4]。
3.1SQL语句的通用格式[5]
SELECT[ALL︱DISTINCT][<目标列表达式>[,…n]]
FROM<表名或视图名>[,<表名或视图名>[…n]]
[WHERE<条件表达式>]
[GROUPBY<列名l>[HAVING<条件表达式>]]
[ORDERBY<列名2>[ASC︱DESC]];
3.2SQL语句的功能
使用SQL语句可以从指定的基本表或视图中,选择满足条件的数据,并对其进行分组、统计、排序和投影,形成查询结果集,供用户查阅。下面简单介绍多表查询、嵌套查询和函数查询。
3.3SQL查询的注意事项
(1)多表查询
多表查询是查询结果涉及到多张数据表,在创建的时候要注意必须按照一定的条件将这些表连接在一起,以便为用户提供所需的信息。如果在Where语句中,既有连接又有查询条件,一定要先写连接条件后写查询条件。
(2)嵌套查询
嵌套查询是指在一个外层查询中包含有另一个内层查询。其中外层查询称为主查询,内层查询称为子查询。允许多层嵌套,由内而外地进行分析,子查询的结果作为主查询的查询条件[6]。在创建嵌套查询时要灵活的运用IN、比较符、ANY或ALL和EXISTS操作符在嵌套查询中的使用。
(3)函数查询
函数查询也称为聚合查询或统计查询。用户在使用数据库时,经常对数据表中的某些列的数据进行统计和分析,比如求出课程成绩的平均值、最大值、最小值等。
在创建函数查询时要注意各个函数的使用,比如(1)COUNT(*)函数将准确地返回表中的总行数,而仅当COUNT()函数的参数列没有NULL值时,才返回表中正确的行计数,所以仅当受NOTNULL限制的列作为参数时,才可使用COUNT()函数代替COUNT(*)函数。(2)WHERE子句和HAVING子句的区别:如果指定了GROUPBY子句,那么HAVING子句D的条件将作用于GROUPBY子句创建的组;如果指定WHERE子句,而没有指定GROUPBY子句,那么HAVING子句定义的条件将作用于WHERE子句筛选出来的数据,并把输出看作是一个组;如果既没有指定GROUPBY子句也没有指定WHERE子句,那么HAVING子句的条件将作用于FROM子句输出的数据,并把这个输出看作是一个组[7]。
4小结
本文通过实例,以及个人经验小结,探讨了Access数据库中参数查询和SQL查询的创建并对参数查询和SQL查询中应该注意的事项进行了分析和小结,把其中容易混淆的知识点进行了讲解与分析,对于学习参数查询和SQL查询能起到一定的帮助和借鉴的作用。
参考文献:
[1]杨建伟,苏瑞娟,刘怀亮.数据库原理与应用教程[M].北京:冶金工业出版社.
[2]万敏.Access数据库中操作查询探析[J].电脑知识与技术,2012(11).
[3]徐秀花.Access2010数据库应用技术教程[M].北京:清华大学出版社.
[4]张巍.数据库原理与应用(Access)[M].北京:清华大学出版社.
[5]萨师煊.数据库系统概论[M].北京:高等教育出版社.
[6]http://wenku.baidu.com/link?url=Sq9FjtbnPgb2QB_UWlowgF1G8zTMHqsi0dNX64Bh6C8m3w5t9pvED3k1YTKGiPOfzWEEAbUKIjsbTGKrX3TAh0tO9kpjHezDcN6e_vUWmhi.
[7]http://blog.sina.com.cn/s/blog_4ef69b3d0100a174.html.
期刊库(http://www.zgqkk.com),是一个专门从事期刊推广、投稿辅导的网站。
本站提供如何投稿辅导,寻求投稿辅导合作,快速投稿辅导,投稿辅导格式指导等解决方案:省级投稿辅导/国家级投稿辅导/核心期刊投稿辅导//职称投稿辅导。
【免责声明】本文仅代表作者本人观点,与投稿辅导_期刊发表_中国期刊库专业期刊网站无关。投稿辅导_期刊发表_中国期刊库专业期刊网站站对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。
投稿辅导服务咨询与期刊合作加盟
陆老师联系QQ: 913775405(普刊)
蒋老师联系QQ: 867306987(核心)
刘老师联系QQ: 271374912(核心)
联系电话:18015016272
17327192284
投稿辅导投稿邮箱:zgqkk365@126.com
期刊推荐
- 《课程教育研究》 旬刊 国家级
- 《网络空间安全》(信息安全与技术)月刊 国
- 《价值工程》旬刊 国家级 科技统计源期刊
- 《高教论坛》 月刊 省级
- 《法制与社会》旬刊 省级
- 《中国教育学刊》月刊 14版北大核心
- 《语文建设》 旬刊 14版北大核心
- 《中国绿色画报》 月刊 国家级
- 《社科纵横》季刊 社科类优秀期刊
- 《求索》月刊 14版北大核心期刊
- 《财会月刊》旬刊 14版北大核心
- 《艺术品鉴》 月刊 省级
- 《中华建设》月刊 国家级 建设类优秀期刊
- 《教学与管理》旬刊 北大核心
- 《当代经济》 旬刊 省级
- 《新课程研究》旬刊 省级 教育类优秀学术期
- 《文教资料》 旬刊 省级
- 《学术界》 月刊 双核心
- 《吉林教育》旬刊 省级 教育类学术期刊
- 《中国农业资源与区划》 月刊 14版北大核心
- 《继续教育研究》月刊 北大核心期刊
- 《财经界(学术版)》半月刊 国家级
- 《电影评介》半月刊 14版北大核心
- 《公路交通科技》 月刊 北大核心
- 《新闻传播》月刊 省级 新闻类优秀期刊