MySQL数据查询
MySQL数据查询
DQL
全称为Data Query Language(数据查询语言),用来查询数据库表中的记录
-
关键字:SELECT
语法:
基本查询:
select 字段列表 from 表名列表
-
查询多个字段:
select 字段,字段2,字段3 from 表名;
1 | select username, password from tab_emp; |
-
查询所有字段(通配符)
select * from 表名;
1 | select * from tab_emp; |
-
设置别名:
select 字段1 [as 别名1],字段2 [as 别名2] from 表名
1 | select name as "姓名", entrydate as "入职时间" from tab_emp; |
-
去除重复记录:
select distinct 字段列表 from 表名;
1 | select distinct job from tab_emp; |
条件查询:
-
在基本查询的后面添加
where 条件列表
比较运算符 | 功能 |
---|---|
> | 大于 |
>= | 大于等于 |
<= | 小于等于 |
= | 等于 |
<>或者 != | 不等于 |
between…and… | 在某个范围之内 |
in(…) | 在in之后的列表中的值,多选一 |
like 占位符 | 模糊匹配(_匹配单个字符,%匹配任意个字符) |
is null | 是null |
逻辑运算符 | 功能 |
---|---|
and 或者 && | 并且(多个条件同时成立) |
or 或者|| | 或者(多个条件任意一个成立) |
not 或者 ! | 非,不是 |
1 | select *from tab_emp where name = '杨逍'; |
分组查询:
-
在条件查询的后面添加
group by 分组字段列表
having 分组后条件列表
-
聚合函数:
-
将一列数据作为一个整体,进行纵向计算
-
select 聚合函数(字段列表) from 表名;
-
函数 | 功能 |
---|---|
count | 统计数量 |
max | 最大值 |
min | 最小值 |
avg | 平均值 |
sum | 求和 |
注意:
-
null值不参与所有聚合函数运算
-
统计数量可以使用:count(*) count(字段) count(常量),推荐使用count( * ),
分组字段和聚合函数一起使用
1 | select 字段列表 from 表名 [where 条件] group by 分组字段名 [having 分组后过滤条件] |
-
where 和 having区别:
- 执行时机不同:
- where是分组之间进行过滤,不满足where条件,不参与分组;而having是分组之后对结果进行过滤
- 判断条件不同
- where不能对聚合函数进行判断,而having可以
- 执行时机不同:
排序查询:
-
在基本查询的后面添加
order by 排序字段列表
-
排序方式:
- ASC:升序(默认值)
- DESC:降序
1 | select *from tab_emp order by id DESC ; |
多字段排序的情况下,当第一个字段值相同时候,才会根据第二个字段进行排序。
-
分页查询:
- 在基本查询后方添加
limit 分页参数
1 | select 字段列表 from 表名 limit 起始索引,查询记录数 |
起始索引=(页码-1) * 每页展示记录数
1 | select *from tab_emp limit 0,5; |
函数:
-
if(表达式,tvalue,fvalue):当表达式为true时,取值trvalue;当表达式为false时取值fvalue
-
case expr when value1 then result1 [when value2 …] [else result] end;
1 | use data01; |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 NING / MiRACLE!