MySQL单表查询是指从单独一张数据表中提取所需数据的过程,核心是通过SELECT语句配合多种子句来完成筛选、排序和统计。掌握单表查询是学习MySQL的基础,也是日常开发中使用频率最高的操作。

基本查询语法
最简单的单表查询是查询表中所有字段和所有记录,也可以指定具体字段。语法形式如下:
-- 查询所有字段 SELECT * FROM user; -- 查询指定字段 SELECT id, name, age FROM user;
使用WHERE条件过滤
如果只想拿到符合某些条件的数据,就要用WHERE子句。常见的条件包括等于、大于、模糊匹配等。
- 等于:WHERE age = 18
- 范围:WHERE age > 20
- 模糊:WHERE name LIKE '张%'
-- 查询年龄大于20且姓张的用户 SELECT id, name, age FROM user WHERE age > 20 AND name LIKE '张%';
排序与限制条数
查询结果可以用ORDER BY排序,ASC表示升序,DESC表示降序。LIMIT用来限制返回的记录数量,常用于分页。
-- 按年龄降序取前10条 SELECT id, name, age FROM user ORDER BY age DESC LIMIT 10;
聚合与分组查询
单表查询中还经常需要统计,比如算总数、平均值。这时会用到COUNT、AVG等聚合函数,以及GROUP BY分组。
| 函数 | 作用 |
|---|---|
| COUNT() | 统计行数 |
| AVG() | 计算平均值 |
| MAX() | 取最大值 |
-- 按性别分组统计人数 SELECT gender, COUNT(*) AS cnt FROM user GROUP BY gender;
小结
上面介绍的SELECT、WHERE、ORDER BY、LIMIT以及GROUP BY,已经可以覆盖绝大多数MySQL单表查询场景。实际写查询时,先明确要查哪些字段,再想过滤条件,最后考虑排序和条数限制即可。在代码或日志中看到<input>这类标签不会影响SQL,那属于前端内容,与单表查询语句无关。