MySQL数据库DQL回顾

目录

什么是DQL

语法

基本查询

语法

设置别名

去除重复记录

条件查询

语法

条件运算符

聚合函数

介绍

语法

分组查询

语法

用法

排序查询

语法

排序方式

注意事项

分页查询

语法

公式

注意事项


什么是DQL

DQL英文全称是Data Query Language(数据查询语言),用来查询数据库表中的记录。

关键字:SELECT(select)

语法

select

        字段列表

from

        表名列表

where

        条件列表

group by

        分组字段列表

having

        分组后条件列表

order by

        排序字段列表

limit

        分页参数

基本查询

语法

select 字段1, 字段2, 字段3 from 表名;

查询所有字段可以写成:select * from 表名;

写法更简洁,但实际开发中不建议用,建议将要查询的字段全部写出。

设置别名

select 字段1 as 别名1, 字段2 as 别名2 from 表名;

as 可以省略

去除重复记录

select distinct 字段列表 from 表名;

查询出的字段中不会出现重复的数据

条件查询

语法

select 字段列表 from 表名 where 条件列表;

条件运算符

>,>=,<,<=,=,!=,这些意思比较好理解

其中还有一些要特殊关注的:

between A and B ,表示范围在A到B之间,如时间,年龄等条件。

in (a, b, c),表示满足a,b,c中的一个即可。

like 占位符,用于模糊匹配,_匹配单个字符,%匹配任意个字符。

is null,表示是空。

and,并且(多个条件同时成立才行)。

or,或者(多个条件任意一个成立即可)。

not,非(表示不是的意思)。

聚合函数

介绍

将一列数据作为一个整体,进行纵向计算。

语法

select 聚合函数(字段列表) from 表名;

函数 功能
count 统计数量
max 最大值
min 最小值
avg 平局值
sum 求和

重点关注count函数,常用于统计数量,例如用于分页查询中数据总数的查询。

用法:select count(*) from 表名;(推荐用法)

注意:null值不参与所有聚合函数运算。

分组查询

语法

select 字段列表 from 表名 group by 分组字段名;

用法

例如,统计用户的数量,需要通过性别来进行分组统计。

select gender, count(*) group by gender;

结果为:

gender `count(*)`
20
15

当然,带着where条件进行分组也是可以的。

同样是分组条件having和where有什么区别呢?

1.执行的时机不同:where是在分组之前进行数据过滤,不符合的数据不参与分组。having是在分组之后对数据进行过滤。

2.判断的条件不同:where不能对聚合函数进行判断,having可以。

3.执行顺序:where > 聚合函数 > having

排序查询

语法

select 字段列表 from 表名 order by 字段1 排序方式1, 字段2 排序方式2;

排序方式

ASC:升序(默认值),可以不写。

DESC:降序,必须指定。 

注意事项

进行多字段排序时,当第一个字段相同时,才会根据第二个字段进行排序,以此类推。

分页查询

语法

select 字段列表 from 表名 limit 起始索引, 查询记录数;

公式

起始索引 = (查询的页数 - 1)* 查询记录数

注意事项

起始索引从0开始

当查询的是第一页数据,起始索引可以省略,例如:select * from tb_user limit 10;

你可能感兴趣的:(基本概念,数据库,mysql,dql)