第07章 操作查询和SQL查询 操作查询是Microsoft Access 2007查询中的重要组成部分,利用它可以对数据库中的数据进行简单的检索、显示和统计,而且可以根据需要对数据库进行修改。SQL是一种结构化查询语言,也是一种功能极其强大的关系数据库语言。本章将介绍在Access中创建操作查询和SQL查询。
教学重点与难点 更新查询 生成表查询 追加查询和删除查询 SELECT和INSERT语句 UPDATE和Delete语句 SELECT…INTO语句
7.1 操作查询 操作查询用于对数据库进行复杂的数据管理操作,它能够通过一次操作完成多个记录的修改。操作查询包含以下几种类型: 更新查询 7.1 操作查询 操作查询用于对数据库进行复杂的数据管理操作,它能够通过一次操作完成多个记录的修改。操作查询包含以下几种类型: 更新查询 生成表查询 追加查询 删除查询
7.1.1 更新查询 更新查询就是对一个或者多个数据表中的一组记录做全局的更改。这样用户就可以通过添加某些特定的条件来批量更新数据库中的记录。
7.1.2 设置查询条件 在Access的许多场合中,查询可以与表一样使用。与表一样,查询虽然也有设计视图和数据表视图,但是查询毕竟不同于表。例如不能导出到其他数据库。
7.1.3 追加查询 追加查询用于将一个或多个表中的一组记录添加到另一个表的结尾,但是,当两个表之间的字段定义不相同时,追加查询只添加相互匹配的字段内容,不匹配的字段将被忽略。追加查询以查询设计视图中添加的表为数据源,以在“追加”对话框中选定的表为目标表。
7.1.4 删除查询 删除查询是将符合删除条件的整条记录删除而不是只删除字段。删除查询可以删除一个表内的记录,也可以在多个表内利用表间关系删除相互关联的表间记录。
7.2 SQL查询 从以上几节的介绍可见,Access的交互查询不仅功能多样,而且操作简便。事实上,这些交互查询功能都有相应的SQL语句与之对应,当在查询设计视图中创建查询时,Access将自动在后台生成等效的SQL语句。当查询设计完成后,就可以通过“SQL视图”查看对应的SQL语句。 SQL视图 SELECT查询 INSERT语句 UPDATE语句 DELETE语句 SELECT…INTO语句
7.2.1 SQL视图 SQL视图是用于显示和编辑SQL查询的窗口,主要用于以下两种场合: 查看或修改已创建的查询
7.2.2 SELECT查询 SQL查询是使用SQL语句创建的查询。在SQL视图窗口中,用户可以通过直接编写SQL语句来实现查询功能。在每个SQL语句里面,最基本的语法结构是“SELECT…FROM…[WHERE]…”,其中SELECT表示要选择显示哪些字段,FROM表示从哪些表中查询,WHERE说明查询的条件。 SELECT语句的一般格式: SELECT[谓词]{*|表名.*|[表名.]字段1[AS别名1][,[表名.]字段2[AS别名2][,...]]} FROM 表的表达式[,...][IN外部数据库] [WHERE...] [GROUP BY...] [HAVING...] [ORDER BY...] [WITH OWNERACCESS OPTION]
7.2.3 INSERT语句 使用SQL语言中的INSERT语句可以向数据表中追加新的数据记录。
7.2.4 UPDATE语句 UPDATE语句用来修改数据表中已经1存在的数据记录。它的基本语法格式如下: UPDATE 表名 SET 字段1 = 值1,…, 字段N = 值N, [WHERE<条件>]
7.2.5 DELETE语句 DELETE语句用来删除数据表中的记录,基本语法格式如下: DELETE 字段 FROM 表名 [WHERE<条件>]
7.2.6 SELECT…INTO.语句 SELECT…INTO语句用于从一个查询结果中创建新表,基本语法格式如下: FROM 表 [WHERE <条件>]
7.3 SQL特定查询 不是所有的SQL查询都能转化成查询设计视图,我们将这一类查询称为SQL特定查询。如联合查询、传递查询和数据定义查询等不能在设计视图中创建,只能通过在SQL视图中输入SQL语句来创建。 联合查询 传递查询 数据定义查询
7.3.1 联合查询 联合查询使用UNION语句来合并两个或更多选择查询(表)的结果。
7.3.2 传递查询 传递查询使用服务器能接受的命令直接将命令发送到ODBC数据库,如Microsoft FoxPro。例如,用户可以使用传递查询来检索记录或更改数据。使用传递查询,可以不必链接到服务器上的表而直接使用它们。传递查询对于在ODBC服务器上运行存储过程也很有用。
7.3.3 数据定义查询 SELECT语句是SQL语言的核心。除此之外,SQL还能提供用来定义和维护表结构的“数据定义”语句和用于维护数据的“数据操作”语句。 创建数据表 修改表结构