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的主要内容,如果未能解决你的问题,请参考以下文章

linux中怎么查看mysql数据库版本

VSCode自定义代码片段4——cli的终端命令大全

从mysql的片段中加载ListView

web代码片段

[Go] 通过 17 个简短代码片段,切底弄懂 channel 基础

连接MySQL出现错误:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)(代码片段