MySQL基础之DQL
语法不区分大小写
分类
- DD(definition)L 定义
- DM(manipulation)L 操作
- DQ(query)L 查询
- DC(control)L 控制
语法
- 基本查询
- 条件查询(where)
- 聚合函数(count,max,min,avg,sum)
- 分组查询(group by)
- 排序查询(order by)
- 分页查询(limit)
# DQL语句编写顺序 # DQL语句执行顺序
select # 4.
字段列表
from # 1.
表名列表
where # 2.
条件列表
group by # 3.
分组字段列表
having
分组后条件列表
order by # 5.
排序字段列表
limit # 6.
分页参数
基本查询
-
# 查询多个字段 select 字段1,字段2,... from 表名; select * from 表名; #整张表 # 设置别名 (as可省略) select 字段1 [as 别名1],字段2 [as 别名2],... from 表名; # 去除重复记录 select distinct 字段列表 from 表名;
条件查询
-
不同条件间用and或&&连接
-
select 字段列表 from 表名 where 条件列表; #条件 #><=! #in(x,y,z,...) 只要字段有()中相同的数据就输出 #like 占位符(_匹配单个字符,%匹配任意个字符) #is (not) null 为空
聚合函数
-
# count(数据数量),max,min,avg,sum(数据和) select 聚合函数(字段列表) from 表名;
分组查询
-
where和having区别
- 执行时机不同:where在分组前,having在分组后
- 判断条件不同:where不能对聚合函数进行判断,having可以
-
select 字段列表 from 表名 [where 条件] group by 分组字段名 [having 分组后过滤条件];
排序查询
- 排序方式: 1.asc 升序(默认)
2.desc 降序
-
select 字段列表 from 表名 order by 字段1 排序方式1,字段2 排序方式2;
分页查询
-
如果查询第一页数据,起始索引为0可以省略
-
起始索引为跳过多少条数据再开始查询
-
select 字段列表 from 表名 limit 起始索引,查询记录数;