DQL:查询表中的记录
select * from 表名;
语法:
select 字段列表
from 表名列表
where 条件列表
group by 分组字段
having 分组后的条件
order by 排序
limit 分页限定
基础查询
多个字段的查询
select 字段名1,字段名2… from 表名;
//如果查询所有字段,则可以使用*来替代字段列表
去除重复
distinct
计算列
一般可以使用四则运算计算一些列的值(一般只会进行数值型的计算)
ifnull(表达式1,表达式2); null参与的计算,结果均为null
//表达式1:哪个字段需要去判断是否为null
//表达式2:如果该字段为null后的替换值
起别名
as:as可以省略
条件查询
where子句后跟条件
运算符
>, <, >=, <=, =, <>(不等于,等同于 !=)
between…and(在…中间)
in(集合)
like (模糊查询)
*占位符:
*_ :单个任意字符
*%:多个任意字符
is null
and 或 &&
or 或 ||
not 或 !
排序查询
语法:order by 子句
order by 排序字段1 排序方式1,排序字段2 排序方式2…
排序方式:
ASC:升序排序(默认)
DESC:降序排序
//如果有多个排序条件,则当前面的条件值相同时,才会使用第二个条件
聚合函数:将一列数据作为一个整体,进行纵向的计算
count:计算个数
一般选择非空的列:主键
max:计算最大值
min:计算最小值
sum:计算和
avg:计算平均值
//聚合函数的计算,会排除null值
//解决方案:
//1.选择不包含非空的列进行计算
//2.IFNULL函数
分组查询
语法:group by 分组字段
//1,分组之后查询的字段:分组字段,聚合函数
//2. where和having的区别:
//1. where在分组之前进行限定,如果不满足条件,则不参与分组;
//having在分组之后进行限定,如果不满足结果,则不会被查询出来
//2. where后不可以跟聚合函数,having可以进行聚合函数的
分页查询
语法:limit (开始的索引,每页查询的条数);
公式:开始的索引 = (当前的页码 - 1) * 每页显示的条数
limit 是一个MySQL“方言 |
|