DQL:查询表中的数据
1.查询所有数据: select * from 表名;
2.语法:select
字段列表
from
表名列表
条件列表
group by
分组列表
having
分组之后的条件
order by
排序
limit
分页限定
3.基础查询:
1.多个字段的查询:
select 字段名1,字段名2... from 表名
2.去除重复:select distinct 3.计算列:
一般可以用四则运算计算一些列的值(通常为数值型);
ifnull(表达式1,表达式2):null参与的运算,计算结果只能null
表达式1:哪个字段需要判断是否为null;
表达式2:如果该字段为null后的替换值。
4.起别名:列名+as(可以省略)+别名
4.条件查询:
1.where子句后跟条件;
2.运算符:
*like:模糊查询:
占位符:“—”:任意单个字符;“%”:任意多个字符;
5.排序查询:
语法:order by 子句
order by 排序字段1 排序方式1,排序字段 2 排序方式2...
排序方式:asc:升序(默认);desc :降序。
如果有多个排序语句,当前面一样时才会判断后面的。
6.聚合函数:将一列数据作为一个整体,进行纵向的计算
count:计算个数;选择主键;
max:计算最大值,min:计算最小值;
sum:求和;avg:计算平均值
*使用聚合函数会排除null值:
解决方案:选择不包含null的列进行计算,2.ifnull函数;
7.分组查询:语法:group by +分组字段;
*分组之后查询的字段:分组字段或者聚合函数;
*where和having区别:
1. where在分组之前进行限定如果不满足条件不会进行查询;
having在分组之后进行限定如果不满足结果不会查询出来;
2.where后不能进行聚合函数的判断,having可以加。
8.分页查询:语法:limit 开始的索引,每页查询的条数;
(limit是一个方言)
开始的索引=(当前的页码-1)*每页查询的条数;