DQL:查询表中记录
1.了解查询的语法
select
字段列表
from
表名列表
where
条件列表
group by
分组字段
having
分组之后的条件
order by
排序
limit
分页限定
2.基础查询
2.1.查询多个字段
select 字段名1,字段名2. . .字段名n from 表名;
如果查询所有字段,可以使用"*"来代替字段列表
2.2.去除重复(distinct)
2.3.列之间的
一般可以使用四则运算
来计算一些列的值(一般只会进行数值型的计算)
IFNULL
(表达式1,表达式2):NULL值参与计算
结果都为NULL,如此显然不合理,所以需要指定字段值为NULL时的替换值
2.4.起别名(AS)
AS也可以省略,用一个或多个空格代替
3.条件查询
3.1.where子句后跟条件
3.2.MySQL中的运算符
- >、<、<=、>=、=、!=、<>(不等于)
大于:
大于等于:
等于:
不等于:
- BETWEEN. . .AND
- IN(集合)
- like(
模糊查询
)
占位符:
- _:单个任意字符
- %:任意个数字符
- and 或 &&
- or 或 ||
- is、is not
4.排序查询(order by)
- 1.语法:order by 排序字段1 排序方式1,排序字段2 排序方式2. . .
- 2.排序方式:
ASC:升序,
默认
DESC:降序
如果有多个排序条件,则当前面的条件值一样时才会去判断第二条件呢
5.聚合查询
- 1.聚合函数:将一列数据作为一个整体,进行列的纵向的计算
- 2.几种聚合函数(
聚合函数都会排除NULL值
,为了计算准确,要么选择非空的列(主键),要么使用IFNULL函数)
- count:计算个数
- max:计算最大值
- min:计算最小值
- sum:计算和
- avg:计算平均值
6.分组查询
- 分组查询:
用于统计具有相同特征的某一类数据
- 语法:group by 分组字段
- 注意:
1.
分组之后查询的字段要么是分组字段,要么是聚合函数
2.where和having的区别
- where在分组前限定,不符合就不参与分组,having在分组后限定,不满足条件就不会展示出来
- where后不可以跟聚合函数,having可以跟聚合函数
7.(MySQl数据库)分页查询
- 语法:limit 开始的索引,每页查询的条数;
- 公式:开始的索引 = (当前的页码 - 1)* 每页显示条数
- 分页查询不同数据库操作不同