第5章 数据查询(课件)-《MySQL数据库》同步教学(汕头大学出版社)

2024-06-27
| 17页
| 45人阅读
| 1人下载
普通

内容正文:

第5章 数据查询 5.1 MySQL数据基本查询 5.2 MySQL查询条件选择 5.3 MySQL多表查询 5.4 行浏览查询 05 1 5.1MySQL数据基本查询 在数据库的查询中,SELECT * FROM TABLE是查询的核心要点语句。 可以根据需要,有选择地使用条件。在MySQL中,使用SELECT语句查询数据库的基本语法如下: SELECT [* | <字段列名>] [FROM <表 1>, <表 2>…] [WHERE <表达式>] [GROUP BY <group by definition>] [HAVING <expression> [{<operator> <expression>}…] [ORDER BY <order by definition>] [LIMIT[<offset>,] <row count>] ; 5.1.1SELECT语法格式 2 5.1MySQL数据基本查询 在数据库的查询中,我们可以根据需要,有选择地查询输出相应的字段。当选择字段查询时,各字段之间要用逗号隔开;当需要查询所有的字段时,可以使用“*”表示。 从表tb_student中查询字段名分别为id,name,national和telephone的所有数据,运行效果如图5-1所示。 5.1.2查询选择字段 3 5.1MySQL数据基本查询 查询表tb_student中所有字段的所有数据,运行效果如图5-2所示。 4 5.1MySQL数据基本查询 若希望查询结果展示时字段名使用自己想要的名字,可以在字段名后面使用as子句,运行效果如图5-3所示。 5 5.1MySQL数据基本查询 当电话号码显示没有的时候,替换为“无”。 当电话号码大于等于10000000000并且小于15000000000时,替换为“移 动”。 当电话号码大于等于15000000000并且小于17000000000时,替换为“联 通”。 当电话号码大于等于17000000000并且小于19999999999时,替换为“电 信”。 当电话号码不在相应的范围内时,替换为“未 知”。并把telephone字段显示为别名“运营商”。 效果如图5-4所示。 6 5.1MySQL数据基本查询 当希望对查询数据进行再次加工计算处理时,可以在相应字段进行运算,如将考试成绩从百分制换算成120分制,再进行展示。 运行效果如图5-5所示。 如果仅对表中部分字段进行查询,则输出的结果可能会出现重复的行,如例51中,如果选择的字段没有id,则会查询得到两条重复的数据。 可以使用DISTINCT或DISTINCTROW消除图5-5结果中的重复行。 运行效果如图5-6所示。 7 5.1MySQL数据基本查询 在数据库的查询中,FROM子句表示从哪个表中查询数据。 既可以从当前数据库中的表查询相关数据,也可以在当前数据库查询其他库中表的数据,还可以根据表的个数进行多表查询。 使用当前数据库,并进行库中表内的数据查询。在这种情况下,首先使用USE语句让使用的库作为当前数据库,其次使用FROM子句指定相应表的查询。 运行效果如图5-7所示。 5.13查询数据来源 8 5.1MySQL数据基本查询 使用当前库,查询其他库中的表时,指定表名前面要加上查询表所在的数据库名字。在示例中,首先使用USE表示使用WORLD数据库;其次查询test数据库中的tb_term表。这时在表tb_term的前面加上其所在的库名test,我们可以正常查询并得到相应的数据;如果去掉库名,则会提示库中不存在相应的表。 运行效果如图5-8所示。 9 5.1MySQL数据基本查询 当多个表中存在字段重名的时候,进行查询就会出现语法错误,提示Column '字段名' in field list is ambiguous,意思是:重复的这个字段名存在于多个表中,需要使用哪个表的此字段是模糊不清的。此时我们取tb_termremarks这个字段。 运行效果如图5-9所示。 10 5.1MySQL数据基本查询 使用数据库查询时,有时,并不需要返回数据本身,而仅仅需要对数据进行统计或计算总结,那么就需要用聚合函数进行查询。 聚合函数的作用是对一组数值进行统计或计算,并返回确定的单一数值。 所有聚合函数都具有确定性,任何时候用一组确定的数值调用它们时,都返回相同的值。 表5-1列出了一些常用的聚合函数。 5.1.4使用聚合函数 11 5.1MySQL数据基本查询 使用数据库查询时,有时,并不需要返回数据本身,而仅仅需要对数据进行统计或计算总结,那么就需要用聚合函数进行查询。 聚合函数的作用是对一组数值进行统计或计算,并返回确定的单一数值。 所有聚合函数都具有确定性,任何时候用一组确定的数值调用它们时,都返回相同的值。 表5-1列出了一些常用的聚合函数。 5.1.4使用聚合函数 12 5.2MySQL查询条件选择 常用的操作符包括:比较操作符、逻辑操作符、连接操作符、求反操作符、算术操作符。 1.比较操作符 比较操作符用于比较语句中的值。当两个表达式的值均不为空时,比较操作符有运算结果,为TRUE(真)或FALSE(假)。 2.逻辑操作符 逻辑操作符用于对SQL关键字而不是符号进行比较。 3.连接操作符 如果我们在查询时,需要利用多个条件来缩小数据范围,则可使用连接操作符。连接操作符可以让我们在一个SQL语句中,使用多个操作符进行组合比较,从而得到想要的结果。 4.求反操作符 在前文所提到的所有逻辑操作符中,我们都可以颠倒它们的条件要求。 5.算术操作符 算术操作符用于在SQL语句中执行算术功能。 5.2.1WHERE子句 13 5.2MySQL查询条件选择 数据分组是按照逻辑次序把具有重复数值的字段进行合并。例如,一个数据库包含关于雇员的信息,有些雇员住在同一个城市。如果我们需要知道每个指定城市的雇员信息,就可以根据不同的城市对雇员进行分组。 数据分组是通过SELECT语句使用GROUP BY子句来实现的。 5.2.2分组GROUP BY 我们需要让输出结果以某种方式进行排序时,可以使用ORDER BY子句,它能够以用户指定的列表格式对查询结果进行排序。ORDER BY子句的默认次序是升序,也就是说,如果对输出的结果为字符的结果进行排序,就是A—Z的次序;反之,降序就是Z—A的次序显示字符结果。对于数值而言,升序是1—9,降序是9—1。 5.2.3排序ORDER BY 14 5.2MySQL查询条件选择 LIMIT子句的作用是限制查询结果的条数。 其语法格式:LIMIT [位置偏移量,]行数; 其中,中括号里面的参数是可选参数。位置偏移量是指MySQL查询分析器要从哪一行开始显示,索引值从0开始,即第一条记录的位置偏移量是0,第二条记录的位置偏移量是1,依此类推……第二个参数为“行数”,即指示返回的记录条数。 5.2.4行限制LIMIT 15 5.3MySQL多表查询 子查询也被称为嵌套查询,是位于另一个查询的WHERE子句里的查询,它返回的数据通常在主查询里作为一个条件,从而进一步限制数据库返回的数据。 子查询可用于SELECT,INSERT,UPDATE和DELETE语句。 5.3.1子查询 要从不同的表中查询数据,必须在FROM子句中指定多个表,这时要用到连接,将不同的数据组合到一个表中叫作表的连接。 将各个表用逗号隔开,就指定了一个全连接。FROM子句产生的中间结果是一个新表。 5.3.2连接查询 使用UNION语句,可以把来自多个SELECT语句的结果组合到一个结果集中。 UNION操作符组合多个语句结果时,不包含重复的记录。如果某行的输出存在一个查询结果中,那么其他查询结果同一行的记录就不会再输出显示。 5.3.3联合查询 16 5.4行浏览查询 使用HANDLER语句时,首先使用HANDLER 表名OPEN语句打开一个表,再使用HANDLER 表名READ语句浏览已打开表的数据行,最后使用HANDLER 表名CLOSE关闭表。 5.4.1HANDLER 神秘的非SQL标准语法HANDLER命令,使用如此方便,而且可以降低优化器对SQL语句的解析与优化开销,从而提升查询性能。那么,为什么这么好的东西未被广泛推广呢? 我们把它与SELECT进行对比,就会发现以下不同点: (1)HANDLER每次返回一行,SELECT一次返回所有行。 (2)HANDLER每次返回索引中的所有字段,SELECT可以返回需要的具体字段。 (3)HANDLER涉及分析较少,比SELECT较快。当指定具体表中特定字段数值查询时,HANDLER语句涉及的分析句柄和索引比SELECT相对少得多,因此速度较快。 (4)HANDLER语句完成后,必须使用CLOSE语句关闭表。打 5.4.2说明 17 $$

资源预览图

第5章 数据查询(课件)-《MySQL数据库》同步教学(汕头大学出版社)
1
第5章 数据查询(课件)-《MySQL数据库》同步教学(汕头大学出版社)
2
第5章 数据查询(课件)-《MySQL数据库》同步教学(汕头大学出版社)
3
第5章 数据查询(课件)-《MySQL数据库》同步教学(汕头大学出版社)
4
第5章 数据查询(课件)-《MySQL数据库》同步教学(汕头大学出版社)
5
第5章 数据查询(课件)-《MySQL数据库》同步教学(汕头大学出版社)
6
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。