MySQL-DQL

DQL是数据查询语言,用来查询数据库中表中的数据。

DQL语句编写顺序和执行顺序:

编写顺序:由上至下

执行顺序:

基本查询

查询多个字段:SELECT 字段1,字段2,字段3... FROM 表名;

查询所有字段: SELECT*FROM 表名;

2.设置别名:SELECT 字段1 [[AS] 别名1],字段2 [[AS]别名2] ...FROM 表名;

3.去除重复记录:SELECT DISTINCT 字段列表 FROM 表名;

条件查询

SELECT 字段列表 FROM表名 WHERE 条件列表;

下面是条件列表:

聚合函数:将一列数据作为一个整体进行纵向计算。注意: 查询时NULL不参与计算

常见的聚合函数:

语法:SELECT 聚合函数(字段列表) FROM 表名[WHERE 条件列表];

注意: 1.SELECT*查询的是整张表有多少列。

分组查询:

SELECT 字段列表 FROM 表名**[WHERE 条件]GROUP BY分组字段名****[HAVING 分组过后的过滤条件];**

注意:WHERE 和HAVING 区别

1.执行实际不同:WHERE是分组之前进行过滤的,不参与分组,HAVING是分组之后对结果进行过滤的。

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

3.执行时机:WHERE>聚合函数>HAVING.

4.分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段无意义

排序查询:

SELECT 字段列表 FROM 表名 ORDER BY 字段1 [排序方式1],字段2[ 排序方式2];

排序方式

1.ASC:代表升序

2.DESC:代表降序

注意:

不指定排序方式默认是升序

如果是多字段,当第一个字段值相同时就会按照第二个字段排序。

分页查询:

SELECT 字段列表 FROM 表名 LIMIT 起始索引,查询记录数;

注意:

起始索引从0开始,起始索引数=(查询页码-1)*每页显示的记录数。

分页查询是数据库的方言,不同的数据库有不同的体现,MySQL中是LIMIT。

如果查询的是第一页的数据,起始索引可以省略,直接写成 LIMIT10。

相关推荐
杨了个杨89827 分钟前
Rsyslog + MySQL 实现日志集中存储
数据库·mysql
程序猿202322 分钟前
SQL-性能优化
数据库·sql·性能优化
Token_w22 分钟前
Llama 3-8B-Instruct 在昇腾 NPU 上的 SGLang 性能实测
mysql·llama·sglang
程序员王天23 分钟前
SQLite 查询优化实战:从9秒到300毫秒
数据库·electron·sqlite
码农水水23 分钟前
宇树科技Java被问:数据库连接池的工作原理
java·数据库·后端·oracle
yangmf204028 分钟前
INFINI Gateway 助力联想集团 ES 迁移升级
大数据·数据库·elasticsearch·搜索引擎·gateway·全文检索
better_liang32 分钟前
每日Java面试场景题知识点之-MySQL高并发数据一致性保障
mysql·高并发·java面试·数据一致性·企业级开发
码农阿豪34 分钟前
MySQL 亿级大表(1.35亿条)安全添加字段实战指南
数据库·mysql·安全
寻道码路37 分钟前
【GitHub周榜】WrenAI:开源SQL AI代理,让Text-to-SQL轻松实现,开启自然语言与数据交互新时代
人工智能·sql·语言模型·开源·github·aigc·ai编程
典龙33039 分钟前
推荐一款开源免费的AI智能数据库工具,支持连接mysql,oracle,postgresql,ssh,redis
数据库·mysql