《数据库及其应用Access》第05章Word格式文档下载.docx
- 文档编号:20769212
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:67
- 大小:1.10MB
《数据库及其应用Access》第05章Word格式文档下载.docx
《《数据库及其应用Access》第05章Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《《数据库及其应用Access》第05章Word格式文档下载.docx(67页珍藏版)》请在冰豆网上搜索。
因此,查询对象总与表中的数据保持同步。
如果不保存,则查询和结果集都将消失而不会保存。
在Access数据库窗口中,选择“查询”对象,如图5.1-1所示。
建立查询的基本操作有两种:
“在设计视图中创建查询”和“使用向导创建查询”。
单击“新建”按钮,弹出如图5.1-2所示的“新建查询”对话框。
除第一项是设计视图外,后面有四种查询向导。
在查询对象列表窗口中双击“使用向导创建查询”,等同于图5.1-2中选中“简单查询向导”并单击【确定】按钮,将进入“简单查询向导”界面。
对于无论哪种向导方式来说,只要理解了查询的含义及设计视图的操作方法,都是比较简单的,按照向导的引导一步步操作,做简单的选择或设置即可。
图5.1-1数据库窗口的查询标签界面图5.1-2新建查询对话框
另外一种方法,双击“在设计视图中创建查询”,或者选中“设计视图”并单击【确定】按钮,都将进入查询的设计视图(参见图5.2-1)。
在进行查询设计时,系统菜单将出现【查询】菜单,同时会出现“查询设计”工具栏。
【查询】菜单的内容如图5.1-3所示,菜单中列出了不同的查询操作类别。
Access将查询分为两大类五种,分别是:
选择查询、交叉查询、操作查询、SQL特定查询和参数查询。
其中,“操作查询”包括了菜单中的“更新查询”、“追加查询”、“删除查询”。
这五种查询类别只是查询功能上的划分。
除“SQL特定查询”外,它们都是通过查询的“设计视图”进行可视化的交互操作来完成查询的定义。
除“设计视图”以外,还有一种非常重要的查询设计方法,就是通过“SQL视图”。
“SQL视图”是一个文本编辑器,在“SQL视图”中以命令行方式,输入SQL语句来表达查询,然后执行SQL语句以实现查询的目标。
通过“查询设计”工具栏可在“设计视图”和“SQL视图”之间转换。
在工具栏的第一个按钮上单击,将下拉出一个选择列表,如图5.1-4所示。
在列表中单击“设计视图”或者“SQL视图”,将分别在这两种设计界面之间转换。
事实上,SQL是所有关系数据库的标准操作语言。
Access查询的五种类别,最后都会转化为对应的SQL语句。
由于Access本身的设计目标是可视化、交互式,于是提供了可视化的查询“设计视图”供用户来操作定义查询。
可视化操作虽然直观,无须写语句,但对于一些复杂的功能,学习起来是比较困难的。
反之,如果用户理解了SQL语言,再来看其他的定义查询方法,就一目了然了。
一般专业人员习惯于直接使用SQL。
大部分DBMS都提供完善的工具供用户直接编辑操作SQL语句。
Access的“SQL视图”相当于是SQL工具,但是由于Access可视化特点,重点放在交互的操作界面上,因此这个SQL工具很简单,与其他DBMS相比,并不是很好用。
为了使读者深入理解查询,本章首先比较完整地介绍SQL语言与SQL查询,然后再介绍其他几种查询操作。
如果读者完全掌握了SQL,那么再掌握可视化方法就轻而易举了。
这种学习模式是本书非常重要的特色之一。
5.2SQL语言与SQL命令查询
SQL是关系数据库的国际标准语言,是所有关系DBMS操作的基础。
5.2.1SQL概述
虽然查询是对应数据库操作功能,但SQL是集数据定义、数据操作和数据控制功能于一身的功能完善的数据库语言。
目前,SQL仍处于不断发展过程中。
1.SQL发展过程
1974年Boyce和Chamberlin首先提出SQL。
1975年开始IBM公司研制开发了著名的关系数据库管理系统原型SystemR并在其中实现了SQL。
经过众多软件公司的使用、修改、扩充和完善,SQL最终发展为关系数据库的国际标准语言。
1986年10月美国国家标准局(ANSI,AmericanNationalInstitute)下的数据库委员会批准将SQL作为关系数据库语言的美国标准,同年公布了ANSISQL标准文本(SQL-86),它规定了SQL的基本功能。
1987年,国际标准化组织ISO通过了这一标准。
此后,ANSI不断修改和完善SQL标准。
1989年发布SQL-89,1992年发布SQL-92(也称SQL2)。
SQL2和早期SQL相比增加了空值运算,加强了数据安全检查和操作权限控制等。
1997年,又对SQL进行扩充,增加了递归查询、触发器等功能,称为SQL3。
自SQL成为国际标准以后,各数据库厂家纷纷推出各自的SQL软件或与SQL的接口,这就使大多数数据库均采用SQL作为数据操作语言和标准接口,使不同数据库系统之间的互操作有了共同的基础。
现今所有的关系型DBMS都支持SQL,但几乎都对标准SQL进行了改动,当然基本内容、命令和格式是一致的。
掌握SQL对使用关系数据库非常重要,另外,若掌握了某一系统的SQL,再学习其它系统的SQL就比较容易了。
2.SQL基本功能
SQL具有完善的数据库处理功能,主要功能如下:
(1)数据定义功能。
SQL可以方便地完成对表及关系、索引、查询的定义和维护。
(2)数据操作功能。
操作功能包括数据插入、删除、修改和数据查询。
SQL可以满足数据库操作的各种需要。
(3)数据控制功能。
SQL可以实现对数据库的安全性和完整性控制。
3.SQL的使用方式
SQL既是自主式语言,能够独立执行,也是嵌入式语言,可以嵌入程序中使用。
SQL以同一种语法格式提供两种使用方式,使得SQL具有极大的灵活性,也很方便学习。
(1)独立使用方式。
在数据库环境下用户直接输入SQL命令并立即执行。
这种使用方式可立即看到操作结果,对测试、维护数据库也极为方便。
也适合初学者学习SQL。
(2)嵌入使用方式。
将SQL命令嵌入到高级语言程序中,作为程序的一部分来使用。
SQL仅是数据库处理语言,缺少数据输入/输出格式控制、缺少复杂的数据运算功能,也没有生成窗体和报表的功能,在许多信息系统中必须将SQL和其它高级语言如C、VB等结合起来,将SQL查询结果由程序进一步处理,从而实现用户所需的各种要求。
4.SQL的特点
SQL的主要特点如下。
(1)高度非过程化,是面向问题的描述性语言。
用户只须将需要完成的问题描述清楚,具体处理细节由DBMS自动完成。
即用户只须表达“做什么”,不用管“怎么做”。
(2)面向表,运算的对象和结果都是表。
(3)表达简洁,使用词汇少,便于学习。
SQL定义和操作功能使用的命令动词只有:
CREATE、ALTER、DROP、INSERT、UPDATE、DELETE、SELECT。
(4)自主式和嵌入式的使用方式,方便灵活。
(5)功能完善和强大,集数据定义、数据操纵和数据控制功能于一身。
(6)所有关系数据库系统都支持,具有较好的可移植性。
总之,SQL已经成为当前和将来DBMS应用和发展的基础。
5.2.2Access的SQL语句查询工作界面
SQL的基本工作方式是命令行方式。
Access没有提供独立的SQL工具,可以将查询设计视图之一的“SQL视图”作为一般的SQL工具使用。
该工具功能有限,一次只能编辑处理一条SQL语句,并且除错误定位和提示外,没有提供其他任何辅助性的功能。
“SQL视图”本来是与“设计视图”对应的一种界面,Access的本意是在设计视图中进行交互定义查询时,可以给用户查看对应的SQL语句,所以要进入“SQL视图”,首先要进入查询的“设计视图”。
在图5.1-1所示的数据库窗口中双击“在设计视图中创建查询”,或者先单击“新建”按钮,然后在图5.1-2所示的“新建查询”对话框中选中“设计视图”并单击【确定】按钮,都将进入查询的“设计视图”下的“选择查询”窗口界面,如图5.2-1所示。
图5.2-1查询设计视图界面
SQL语句无需事先打开表,所以直接单击【关闭】按钮关闭“显示表”对话框。
然后在“查询设计”工具栏中单击第1项“SQL”按钮,在类似图5.1-4的列表中单击“SQL视图”,这时,屏幕的界面就转换为“SQL视图”的命令行界面,如图5.2-2所示。
图5.2-2查询的SQL视图界面
这是一个文本编辑器,编辑方法与“记事本”等相似。
用户在这个窗口中可以完成:
●输入、编辑SQL语句;
●运行SQL语句并查看查询结果;
●保存SQL语句为查询对象;
●在“SQL视图”和“设计视图”之间转换界面。
在这个窗口只能使用SQL命令语句。
包括定义命令:
CREATE、ALTER、DROP;
查询命令:
SELECT;
更新命令:
INSERT、UPDATE、DELETE。
〖例5-1〗使用SELECT语句显示“Hello,SQL!
”,运行、保存。
在“SQL视图”窗口中输入:
SELECT"Hello,SQL!
"AS显示;
然后,单击工具栏中的运行
按钮,或者在【查询】菜单中单击“运行”命令,SQL视图界面就会变成查询结果的显示界面,如图5.2-3所示。
注意,Access的SQL语句都以“;
”作为结束标志。
执行结果以表格形式显示。
然后,在标题栏单击鼠标右键,在弹出菜单中单击“SQL视图”,或者单击“查询”工具栏视图列表框中的“SQL视图”,又回到“SQL视图”的设计界面。
单击工具栏的存储
按钮,或者【文件】菜单中的“另存为”菜单项,弹出如图5.2-4所示的“另存为”对话框。
在文本框中输入“SQL练习1”,保存类型选择为“查询”,单击【确定】按钮,这样,就会在数据库窗口中产生一个“SQL练习1”的查询对象。
图5.2-3SQL查询的结果显示界面图5.2-4SQL查询的保存
以后,在数据库窗口的查询对象界面中双击“SQL练习1”,就会直接运行这个查询;
若选中“SQL练习1”,然后单击“设计”命令,就会进入“SQL视图”窗口,并打开保存的“SQL练习1”的文本,可以编辑修改。
从该例子还可以看出,SQL的SELECT语句,不仅仅是数据库的查询语句,也可以作为表达式的运算和结果显示命令。
对于“SQL窗口”中的命令,用户也可以直接将其剪切放在另外的文本文件中保存。
5.2.3Access数据运算与表达式
在数据库的查询和数据处理中,经常要对各种类型的数据进行运算,不同类型的数据运算方式和表达各不相同。
在Access中,由运算符和运算对象组成的运算式称为表达式。
运算对象包括常量、输入参数、表中的字段等,运算符包括一般运算和函数运算。
可以通过以下的语句来查看表达式运算的结果。
〖语法〗SELECT<
表达式>
[AS<
名称>
][,<
…]
在SQL视图窗口中输入语句和运算表达式,然后运行,将在同一个窗口中以表格的形式显示运算结果。
<
用来命名结果的列名,如果缺省,由Access自动命名。
说明:
在介绍命令语句的语法中使用了一些辅助性的符号,这些符号不是语句本身的一部分。
在本书后面介绍有关语句语法时,会经常用到这些符号,它们的含义如下。
[]:
表示被括起来的部分可选;
>
:
表示被括起来的部分必须由用户定义;
|:
表示两项选其一;
…:
表示…前的项目可重复。
语法中直接写出的词汇是Access命令中的保留字,不区分大小写。
1.运算符
Access事先规定了各类型数据运算的运算符。
(1)数字运算符。
数字运算符用来对数字型或货币型数据进行运算,运算的结果也是数字型数据或货币型数据。
表5-1中列出了各类数字运算符已经优先级。
表5-1数字运算符及其优先级
优先级
运算符
说明
1
()
内部子表达式
4
*、/
乘、除运算
2
+、-
正、负号
5
mod
求余数运算
3
^
乘方运算
6
加、减运算
(2)文本运算符。
或称字符串运算符。
普通的文本运算符是:
“&
”或者“+”,两者完全等价。
其运算功能是将两个字符串联接成一个字符串。
其他文本运算使用函数。
(3)日期时间运算符。
普通的日期时间运算符只有“+”和“-”。
它们的运算功能如表5-2所示。
表5-2日期和日期时间运算
格式
结果及类型
日期>
+<
n>
或<
-<
n>
日期时间型,给定日期n天后或n天前的日期
数字型,两个指定日期相差的天数
日期时间>
日期时间型,给定日期时间n秒后或n秒前的日期时间
数字型,两个指定日期时间之间相差的秒数
(4)比较测试运算符。
同类型数据可以进行比较测试运算。
可以进行比较运算的数据类型有:
文本型、数字型、货币型、日期时间型、是否型等。
运算符如表5-3所示,运算结果为是否型,即true或false。
由于Access中用0表示false,-1表示true,所以运算结果为0或-1。
表5-3比较测试运算符
小于
BETWEEN…AND…
范围判断
=
小于等于
[NOT]LIKE
文本数据的模式匹配
>
大于
IS[NOT]NULL
是否空值
大于等于
[NOT]IN
元素属于集合运算
等于
EXISTS
是否存在测试(只用在表查询中)
不等于
文本型数据比较大小时,两个字符串逐位按照字符的机内编码比较,只要有一个字符分出大小,即整个串就分出大小。
日期型按照年、月、日的大小区分,数值越大的日期越大。
是否型只要两个值:
true和false,true小于false。
“BETWEENx1ANDx2”,x1为范围起点,x2为终点。
范围运算包含起点和终点。
LIKE运算用来对数据进行通配比较,通配符为“*”和“?
”(ANSISQL为“%”和“_”)。
对于空值判断,不能用等于或不等于NULL,只能用ISNULL或ISNOTNULL。
IN运算相当于集合的属于运算,用括号将全部集合元素列出,看要比较的数据是否属于该集合中的元素。
EXISTS用于判断查询的结果集合中是否有值。
(5)逻辑运算符。
逻辑运算是指针对是否型值true或false的运算,运算结果仍为是否型。
最早由布尔(Boolean)系统提出,所以逻辑运算又称为布尔运算。
逻辑运算符主要包括:
求反运算NOT、与运算AND、或运算OR、异或运算XOR等。
其中,NOT是一元运算,有一个运算对象,其他都是二元运算。
运算的优先级是:
NOT→AND→OR→XOR。
可以使用括号改变运算顺序。
逻辑运算的规则及结果见表5-4。
在表中,a、b是代表两个具有逻辑值数据的符号。
表5-4逻辑运算
a
b
NOTa
aANDb
aORb
aXORb
true
false
上述不同的运算可以组合在一起进行混合运算。
当多种运算混合时,一般是先进行文本、数字、日期时间的运算,再进行比较测试运算,最后进行逻辑运算。
2.函数
除普通运算符表达的运算外,大量的运算通过函数的形式实现。
Access设计了大量各种类型的函数,使运算功能非常强大。
函数包括函数名、自变量和函数值3个要素。
函数基本格式是:
函数名([自变量])。
函数名标识函数的功能;
自变量是需要传递给函数的参数,写在括号内,一般是表达式。
有的函数无需自变量,称为哑参,一般和系统环境有关,具有特指的不会混淆的内涵。
缺省自变量时,括号仍要保留。
有的函数可以有多个自变量,之间用逗号分隔。
表5-5列出了Access中常用的一些函数。
表5-5Access常用函数
类别
函数
返回值
数字函数
ABS(数值)
求绝对值
INT(数值)
对数值进行取整
SIN(数值)
求正弦函数值,自变量以弧度为单位
EXP(数值)
求以e为底的指数
文本函数
ASC(文本表达式)
返回文本表达式最左端字符的ASCII码。
CHAR(整数表达式)
返回整数表示的ASCII码对应的字符。
LTRIM(文本表达式)
把文本字符串头部的空格去掉
TRIM(文本表达式)
把文本字符串尾部的空格去掉
LEFT(文本表达式,数值)
从文本的左边取出指定位数的子字符串。
RIGHT(文本表达式,数值)
MID(文本表达式,
[数值1[,数值2]])
从文本中指定的起点取出指定位数的子字符串。
数值1指定起点,数值2指定位数。
LEN(文本表达式)
求出文本字符串的字符个数。
日期时间函数
DATE()
返回系统当天的日期
TIME()
返回系统当时的时间
DAY(日期表达式)
返回1到31之间的整数,代表月中的日期
HOUR(时间表达式)
返回0到23之间的整数,表示一天中某个小时
NOW()
返回当时系统的日期和时间值
转换函数
STR(数值,[长度,[小数位]])
把数值型数据转换为字符型数据。
VAL(文本表达式)
返回文本对应的数字,直到转换完毕或不能转换为止。
财务函数
FV(rate,nper,pmt[,pv[,type]])
返回指定基于定期定额付款和固定利率的未来年金值。
PV(rate,nper,pmt[,fv[,type]])
返回基于定期的、未来支付的固定付款和固定利率来指定年金的现值。
NPER(rate,pmt,pv[,fv[,type]])
返回根据定期的、固定的付款额和固定利率来指定年金的期数。
SYD(cost,salvage,life,period)
返回指定某项资产在指定时期用年数总计法计算的折旧。
PPMT(rate,per,nper,pv[,fv[,type]])
返回根据定期的、固定的付款额和固定利率来指定给定周期的年金资金付款额。
测试函数
TYPENAME(表达式)
以文本型数据返回表达式的数据类型。
主要类型有:
Byte字节值Integer整数
Long长整型数据Single单精度浮点数
Double双精度浮点数Currency货币值
Decimal十进制值Date日期值
String文本字符串Null无效数据
Object对象Unknown类型未知的对象
关于函数的进一步说明和其他的函数,请参阅Access帮助或相关资料。
3.参数
将运算对象、运算符、函数按照一定格式联在一起进行运算,就是表达式。
表达式中的运算对象,可以是常量(第4章关于数据类型的介绍包括常量的概念),可以是字段。
如果用户希望在运算时输入一个数据,那么可以在命令中加入输入参数。
Access中称为参数的概念实际上就是一个输入变量。
在命令中,没有确定的值而需要在执行时输入的标识符就是参数。
例如,执行以下命令:
SELECTx-1;
首先会弹出对话框,如图5.2-5所示,要求输入参数x的值,然后再做进一步运算。
简单的数值或文本参数可以直接在命令语句中给出。
但是对于其他类型的参数,为了在输入时有确定的含义,因此应该在使用一个参数前明确定义。
参数定义语句的语法如下。
〖语法〗PARAMETERS<
参数名>
数据类型
为了避免发生表达式语法错误,对于参数最好遵守如下规定:
(1)参数名以字母或汉字开头,由字母、汉字、数字和必要的其他字符组成;
(2)参数都用方括号([、])括起来。
(当参数用方括号括起来后,Access对于参数的命名规定可不完全遵守上一条的规定)
4.表达式运算示例
以下示例都直接在“SQL视图”中输入并直接执行,每次只能输入并执行一条语句。
〖例5-2〗在“SQL视图”中执行如下命令。
命令:
SELECT-3+5*20/4,125^(1/3)mod2;
结果:
22,1
〖例5-3〗在“SQL视图”中执行如下命令。
SELECTint(-3+5^-2),exp(5),sin(45*2*3.1416/360);
〖例5-4〗在“SQL视图”中执行如下文本运算命令。
SELECT"
Beijing"
&
"
2008"
left("
奥林匹克运动会"
1)
&
mid("
5,1),len("
);
Beijing2008,奥运,7
在Access中,中文机内码是双字节编码,一个汉字在计算位数时算1位,单字节的ASCII码一个字符也算一位,在计算字符长度时要注意区分。
〖例5-5〗在“SQL视图”中执行输入参数并进行日期时间运算命令。
PARAMETERS[你的生日]DATETIME;
SELECTnow()AS现在的时间,date()-[你的生日]AS你生活的天数;
若今天是2008年8月8日,执行命令,输入值和结果如图5.2-6和图5.2-7所示。
图5.2-6参数输入对话框图5.2-7运行结果示意
在输入文本框中,注意直接输入日期本
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库及其应用Access 数据库 及其 应用 Access 05