数据库MySql--day2 基础查询

一、数据的基础查询整体介绍

select... 表示具体要展示记录的什么投影

from + 数据源(表)表示从哪里进行数据的检索

where + 条件 表示应该检索哪些记录出来

order by 表示检索出的数据进行排序的依据

limit + offset 表示排序的结果中获取切片

二、where条件

运算符:

语句:

C between START and END;

C是否在START与END左闭右闭区间中存在。隐含的前提为C必须是一个可以视为区间的数据类型,比如int,日期,时间等。

e in (e1,e2,e3,e4,...)

表示e是否是该集合中的一个元素。 

关于null的理解:

1.null代表未知

2.凡是有null参与的表达式,得到的结果仍然是null

3.null视为false 

关于字符串的模糊匹配

 总结

 三、select语句

select后边的投影规则无法影响一共有多少条记录倍检索出来,只有where(或者limit)可以影响有多少行记录被检索出来。

1.select*代表展示所有字段,展示顺序按照创建表的顺序来

2.select id,name 给出具体字段名称 , 相隔开

也可以使用as来起别名 select b.id from books as b;先给books表起个别名b,然后select使用该别名

3.有字段或者常数参与的表达式

select id +1 表示在id这个字段中,进行+1处理

4.投影出来的字段也可以起别名

select id as 别名;--as可以省略 select id 别名

有逗号代表不同字段,无逗号代表给字段起别名 select id,name; 与 select id name;

5.可以有函数运算(不建议使用)

upper(…)把字符串变大写

concat(…)连接几个字符串

substr(…)切割子串

小结投影

 四、order by 语句

1.如果没有指定排序规则,则应该认为检索出来的顺序是未定义行为,无序的

2.oder为排序,by为以什么作为依据进行排序

其中ASC为升序,DESC为降序

建库时的collation影响的就是字符串的排序规则

特别的,当排序后数据相同的字段仍然是无序的,因此需要引入二次排序多次排序

 

一般来说,最后一个排序以一定不相等的字段来排好一些。

五、limit + offset 切片语句

1.切片必须在已经有序的结果上才有确定的结果

2.传入两个数据:从哪里开始取 offset以及取多少条 limit

具体语法

 例子:实现分页功能

 六‘、基础查询语法小结

 


版权声明:本文为a931394057原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。