MySQL查询数据核心是SELECT语句,支持基础查询、WHERE条件筛选、ORDER BY排序、LIMIT分页、GROUP BY分组及HAVING筛选等完整功能。

在 MySQL 中查询数据,核心是使用 SELECT 语句。它是最常用、最基础的 SQL 命令,用来从一个或多个表中提取所需的数据。
基本 SELECT 语法结构
最简单的查询格式为:
SELECT 列名 FROM 表名;
例如,查询 user 表中所有人的姓名:
SELECT name FROM user;
若想查全部字段,用星号 * 代替列名:
SELECT * FROM user;
注意:生产环境不建议随意用 *,应明确列出需要的字段,提升性能和可读性。
带条件筛选的查询(WHERE)
用 WHERE 子句限定返回的数据范围,支持常见比较和逻辑运算符。
- 等于: WHERE age = 25
- 范围判断: WHERE salary BETWEEN 5000 AND 10000
- 模糊匹配: WHERE name LIKE '%小%'(% 表示任意字符)
- 多条件组合: WHERE status = 'active' AND city IN ('北京', '上海')
排序与限制结果数量
查询结果默认无序,可用 ORDER BY 排序,配合 LIMIT 控制返回条数。
- 升序(默认): ORDER BY created_at
- 降序: ORDER BY score DESC
- 只取前 10 条: LIMIT 10
- 分页常用写法(跳过前 20 条,取 10 条): LIMIT 20, 10 或 LIMIT 10 OFFSET 20
常用聚合与分组(GROUP BY)
当需统计类结果时,配合 COUNT、SUM、AVG 等函数和 GROUP BY 使用。
- 统计每个性别的人数: SELECT gender, COUNT(*) FROM user GROUP BY gender;
- 筛选分组后满足条件的结果(用 HAVING): HAVING COUNT(*) > 5(不能用 WHERE,因 WHERE 在分组前执行)
-
结合排序与限制: 查出评论数最多的前 3 个文章 ID:
SELECT article_id, COUNT(*) AS cnt FROM comment GROUP BY article_id ORDER BY cnt DESC LIMIT 3;










