下载此文档

第四章数据库的查询和视图.ppt


文档分类:IT计算机 | 页数:约129页 举报非法文档有奖
1/129
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/129 下载此文档
文档列表 文档介绍
网络数据库技术应用
第四章数据库的查询和视图
数据库的查询
数据库的视图
重点
数据库的查询
使用数据库和表的主要目的是存储数据以便在需要时进行检索、统计或组织输出,通过SQL语句的查询可以从表或视图中迅速方便地检索数据。
SELECT语句可以从一个或多个表中选取特定的行和列,结果通常是生成一个临时表。在执行过程中系统根据用户的标准从数据库中选出匹配的行和列,并将结果放到临时的表中,这就是实现选择和投影运算的一个形式。
SELECT [ALL | DISTINCT | DISTINCTROW] [HIGH_PRIORITY] [STRAIGHT_JOIN] [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT][SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS] select_expr, ...
[INTO OUTFILE 'file_name' export_options | INTO DUMPFILE 'file_name']
[FROM table_reference ] [WHERE where_definition]
[GROUP BY {col_name | expr | position} [ASC | DESC], ... [WITH ROLLUP]]
[HAVING where_definition] /* HAVING 子句*/
[ORDER BY {col_name | expr | position} [ASC | DESC] , ...]
[LIMIT {[offset,] row_count | row_count OFFSET offset}]
说明
从这个基本语法可以看出,最简单的SELECT语句是SELECT select_expr,利用这个最简单的SELECT语句,可以进行MySQL所支持的任何运算,例如,SELECT 1+1,它将返回2。
SELECT关键词的后面可以使用很多的选项:
● ALL | DISTINCT | DISTINCTROW:这几个选项指定是否重复行应被返回。如果这些选项没有被给定,则默认值为ALL(所有的匹配行被返回)。DISTINCT 和 DISTINCTROW是同义词,用于消除结果集合中的重复行。
说明
● HIGH_PRIORITY,STRAIGHT_JOIN和以SQL_为开头的选项都是MySQL相对于标准SQL的扩展,这些选项在多数情况下可以选择不使用。
HIGH_PRIORITY:给予SELECT更高的优先权,使查询立刻执行,加快查询速度。
● STRAIGHT_JOIN:用于促使MySQL优化器把表联合在一起,加快查询速度。
● SQL_SMALL_RESULT:可以与GROUP BY或DISTINCT同时使用,来告知MySQL优化器结果集合是较小的。在此情况下,MySQL使用快速临时表来储存生成的表,不使用分类。
● SQL_BUFFER_RESULT:促使结果被放入一个临时表中。这可以帮助MySQL提前解开表锁定,在需要花费较长时间的情况下,也可以帮助把结果集合发送到客户端中。
● SQL_BIG_RESULT:可以与GROUP BY或DISTINCT同时使用,来告知MySQL优化器结果集合有很多行。在这种情况下,MySQL会优先进行分类,不优先使用临时表。
● SQL_CACHE:告知MySQL把查询结果存储在查询缓存中。对于使用UNION的查询或子查询,本选项会影响查询中的所有SELECT。
● SQL_NO_CACHE:告知MySQL不要把查询结果存储在查询缓存中。
● SQL_CALC_FOUND_ROWS:告知MySQL计算有多少行应位于结果集合中,不考虑任何LIMIT子句。
● SELECT…INTO OUTFILE ‘file_name’:这个语句可以将表中的行导出到一个文件中,这个文件被创建在服务器主机中,file_name为文件名。
所有被使用的子句必须按语法说明中显示的顺序严格地排序。例如,一个HAVING子句必须位于GROUP BY子句之后,并位于ORDER BY子句之前。
下面具体介绍一下SELECT语句中包含的各个子句。
选择列
1. 选择指定的列
使用SELECT语句选择一个表中的某些列,各列名之间要以逗号分隔。
【】 (查询XSCJ数据库的XS表中各个同学的姓名、专业名和总学分。
USE XSCJ;
SELECT 姓名,专业名,总学分
FROM XS;
说明:执行结果是XS表中全部学生的姓名、专业名和总学分列上的信息。
注意:当在SELE

第四章数据库的查询和视图 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数129
  • 收藏数0 收藏
  • 顶次数0
  • 上传人mh900965
  • 文件大小1 MB
  • 时间2018-02-11