MySQL基础-4
Posted 云生处
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL基础-4相关的知识,希望对你有一定的参考价值。
本章节学习目标
1.select 检索单个列、多个列、全部列。2.全限定名与别名。3.去重和限定结果
select 基础用法
在纵观这个知识点之前,先来看一下 select 语句的语法结构:
语法:select columns from table;
接着纵观学习目标中的第一个知识点的所有内容,简而言之即为下面三种语法:
1.select 某列 from table;
2.select 某列, 某列, 某列... from table;
3.select * from table;
以上就是本小结要掌握内容,非常的简单。
注:最好不要使用 *
作为查询的字段,检索不需要的字段只会降低效率。
全限定名与别名
全限定名
举个例子:一个学校中分别处于 3年级2班 和 2级3班 姓名都为 A 的同学,此时你需要在学校广播中寻找其中的一位叫 A 的同学你会怎么做?
对,没错。你会加上这位 A 同学的所在的年级和班级进而定位这位同学,这就是全限定名字的作用。
多张表中会存在相同名字的字段,当需要检索不同表中的相同字段时,区分它们也只有使用全限定名。
别名
举个例子:俗称小名。
当表名(也可以是 库名.表名.字段名 )名字过于长的时候,查询多个字段时非常的不人性,为了提高效率起个别名就是解决当前最好的办法。
去重和限定结果
去重
关键字:distinct
正如书上所说,这个关键字只能作用在它后面的字段上,并非全局。随之而来的问题是不能对多个字段进行分组,而且该关键字只能放在开头。
如: select vend_id, distinct prod_id from products;
这就会直接报语义错误。
多个字段进行分组使用关键字:group by 。后续会介绍,暂时不着急。
限定结果
关键字:limit
两种用法:
1.limit 行数;:只有一个参数时代表返回所要查询的行数。2.limit 偏移量, 步长;:两个参数时,第一个参数表示从第几行开始查;第二个参数表示查多少行。
limit 所引导的表达式需要放在结尾处,不能至于其他位置。
注:mysql 中下标是从 0 开始数的。
番外篇
既然文中已经提及到各个关键字在语句中所放置的位置,所以下面先来看一下整个 sql 语句的执行顺序是什么样子的。
先来一段小标注:
(9) SELECT
(10) DISTICNCT column,
(6) AGG_FUNC(column or expiression), ...
(1) FROM left_table
(3) JOIN right_table
(2) ON tablename.column =
other_tablename.column
(4) WHERE constraint_expiression
(5) GROUP BY column
(7) WITH CUBE|ROLLUP
(8) HAVING constraint_expiression
(11) ORDER BY column ASC|DESC
(12) LIMIT count OFFSET count;
再来放一张图:
想要了解更多的同学,可自行百度。基础篇幅不会涉及到原理问题,有机会会在高级部分详细探究。
以上是关于MySQL基础-4的主要内容,如果未能解决你的问题,请参考以下文章
[Go] 通过 17 个简短代码片段,切底弄懂 channel 基础
连接MySQL出现错误:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)(代码片段