(中职)MySQL 8.0数据库管理与应用第3章教学课件().pptx
《(中职)MySQL 8.0数据库管理与应用第3章教学课件().pptx》由会员分享,可在线阅读,更多相关《(中职)MySQL 8.0数据库管理与应用第3章教学课件().pptx(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、(中职)MySQL 8.0数据库管理与应用第3章教学课件(工信版)第第3 3章章 数据查询数据查询3.1.1 SELECT语句的基本组成SELECT 输出项,输出项.FROM 源表WHERE 搜索条件GROUP BY 列名|表达式|列位置,.HAVING 搜索条件ORDER BY 列名|表达式|列位置ASC|DESC,.LIMIT 偏移,行数|行数 OFFSET 偏移INTO OUTFILE 文件名|INTO DUMPFILE 文件名|INTO 变量名,变量名3.1 SELECT3.1 SELECT语句概述语句概述3.1.2 常用查询工具1.mysql命令行工具使用mysql命令行工具可以通过
2、交互方式输入SQL语句或从文件以批处理模式执行SQL语句,从而完成在MySQL服务器上创建数据库、查询和操作数据的任务。2.MySQL WorkbenchMySQL Workbench是一种可视化的数据库设计和管理工具,可以用于管理MySQL服务器,也可以用于创建和管理数据库和各种数据库对象。MySQLWorkbench提供了一个内置的SQL编辑器,可以用来在数据库连接上执行各种SQL语句,还可以将编写的SQL语句或查询结果保存到文件中。3.Navicat for MySQLNavicat for MySQL是由PremiumSoft公司出品的用于管理MySQL数据库的桌面应用程序,它为MyS
3、QL数据库管理、开发和维护提供了一款直观而强大的图形界面。3.1 SELECT3.1 SELECT语句概述语句概述3.2.1 选择所有列如果要查看表中所有列的信息,可在SELECT输出项列表中使用星号(*)来选择源表或视图中的所有列。如果使用表或视图名称进行限定,则星号将被解析为对指定表或视图中的所有列的引用。当使用星号选择所有列时,查询结果中的列顺序与创建表或视图时所指定的列顺序相同。由于SELECT*将查找表中当前存在的所有列,因此每次执行SELECT*语句时,表结构的更改(通过添加、删除或重命名列)都会自动反映出来。3.2.2 选择部分列如果要从表中选择一部分列作为SELECT查询的输出
4、项,则应当在输出项列表中明确地列出每个列名,列名之间用逗号分隔。假如创建表时在表名或列名中使用了空格(不符合标识符命名规则),则编写SELECT语句时需要使用反引号“”将表名或列名括起来,例如SELECT student id,student name FROM student table,否则会出现错误信息。如果在FROM子句中指定了多个表,而这些表中又有同名的列,则在使用这些列时需要在列名前面冠以表名,以指明该列属于哪个表。例如,在student和score表都有一个名称为stuid的列。若要引用student表中的stuid列,应在输出项列表中写上student.stuid;若要引用sc
5、ore表中的stuid列,则应在输出项列表中写上score.stuid。3.2 3.2 选择查询输出项选择查询输出项3.2.3 设置列别名在SELECT语句中,可以使用AS子句来更改结果集中的列名或为派生列分配名称:列名 AS 别名3.2.4 增加派生列在输出项列表中,有些列不是指定为对列的简单引用,而是通过表中的其他列值计算而生成,例如表中有单价和数量列,可以在输出项列表中增加一个用于计算总额的表达式,其值等于单价乘以数量,此即派生列。派生列本无名称,通常应使用AS子句为其指定别名。在派生列中,可以对数值列或常量使用算术运算符或函数进行计算,也可以进行数据类型转换。MySQL支持下列算术运算
6、符:+(加)、(减)、*(乘)、/(除)、%(模,即取余数),可以使用算术运算符可以对数值数据进行加、减、乘、除运算。此外,也可以使用日期函数或常规加或减算术运算符对日期时间类型的列进行算术运算。3.2 3.2 选择查询输出项选择查询输出项3.2.5 消除重复行在输出项列表中可以使用ALL和DISTINCT修饰符,用于指定是否应返回重复的行。pALL是默认值,指定应返回所有匹配的行,包括重复行在内。pDISTINCT指定从结果集中删除重复的行。DISTINCTROW是DISTINCT的同义词。3.2.6 没有表列的SELECT语句在SELECT语句中,只要SELECT子句是必选的,其他子句一律
7、都是可选项。如果SELECT选择列表中仅包含常量、变量、函数和其他表达式,而不包含从任何表或视图中选择的列,则没有必要使用FROM子句。3.2 3.2 选择查询输出项选择查询输出项3.3.1 单表查询当从单个数据库表中查询数据时,需要在FROM子句中指定要引用的该表的名称,这种查询称为单表查询。在单表查询中,可以使用下列两种方式引用来源表。p首先使用USE语句将一个数据库设置为当前数据库,然后在FROM子句中指定要引用的表名,此时这个表就是属于当前数据库。p不设置当前数据库,在FROM子句中指定要引用的表名时在其前面冠以所属数据库的名称。如果要从多个表中查询数据时,则必须在FROM子句中指定要
8、引用的多个表名,这种查询称为多表查询。在多表查询中,需要使用某种方式对不同的表进行连接,因此多表查询也称为连接查询。连接方式分为全连接和JOIN连接,JOIN连接又分为内连接、外连接和交叉连接。3.3 3.3 选择查询数据源选择查询数据源3.3.2 全连接查询全连接是指在FROM子句中使用逗号来分隔各个表,语法格式如下:FROM 表名 AS 别名,表名 AS 别名,.其中表名指定要引用的表,AS关键字和别名都是可选的。在全连接查询中,查询结果中的列来自各个表,结果集是由各个表中的行进行交叉所得到的各种可能的组合,也称为笛卡儿乘积,结果集包含的行数是各个来源表行数的乘积。例如,A表包含200行,
9、B表300行,则以全连接方式查询A表和B表时,返回的结果集将包含200*300=60000行数据。因此,使用全连接方式时有可能生成行数非常大的结果集。在实际应用中,使用全连接查询时通常可以使用WHERE子句来设置一个条件表达式,以控制结果集的大小。3.3 3.3 选择查询数据源选择查询数据源3.3.3 内连接查询内连接是指使用关键词INNER JOIN来连接要查询的各个表,语法格式如下:FROM 表名 AS 别名 INNER JOIN 表名 AS 别名 ON 条件表达式其中表名用于指定要查询的表,AS关键字和别名是可选的。由于内连接是默认的连接方式,关键字INNER也可以省略不写。ON子句主要
10、用于指定表之间的连接条件,其他与表连接无关的条件应放在WHERE子句中。使用内连接查询时,将根据ON子句指定的连接条件合并两个表并返回满足条件的行。3.3 3.3 选择查询数据源选择查询数据源3.3.4 外连接查询外连接是指在FROM子句中使用OUTER关键字来连接要查询的两个表,具体分为以下几种形式。p左外连接(LEFT OUTER JOIN):结果集中除了匹配行之外,还包括左表中存在但右表中不匹配的行,对于这样的行,从右表中选择的列设置为NULL。p右外连接(RIGHT OUTER JOIN):结果集中除了匹配行之外,还包括右表中存在但左表中不匹配的行,对于这样的行,从左表中选择的列设置为
11、NULL。p自然连接(NATURAL JOIN):其语义定义与设置ON条件的INNER JOIN相同,可以进一步分为自然左连接(NATURAL LEFT OUTER JOIN)和自然右连接(NATURAL RIGHT OUTER JOIN)。外连接只能用于连接两个表。当使用各种形式的外连接时,可以省略OUTER关键字。3.3.5 交叉连接查询交叉连接是指在FROM子句中使用CROSS JOIN来连接各个表。如果不使用连接条件,则交叉连接就是对两个表进行笛卡儿乘积运算,结果集是由第一个表的行与第二个表的行拼接后而形成,结果集的行数就等于两个表的行数的乘积。在MySQL中,从语法上讲CROSS J
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中职MySQL 8.0数据库管理与应用第3章教学课件 MySQL 8.0 数据库 管理 应用 教学 课件
限制150内