使用
SELECT语句是 MySQL 中最基础、最常用的查询操作,核心在于明确“查什么”(字段)、“从哪查”(表)以及“满足什么条件”(筛选逻辑)。
基础语法结构
最简形式为:
SELECT 字段列表 FROM 表名;
说明:
-
*表示查询所有字段,例如
SELECT * FROM users;
- 实际开发中建议明确列出所需字段,如
SELECT id, name, email FROM users;,提升可读性与性能
- 字段名和表名支持别名,用
AS关键字(可省略),例如
SELECT name AS username FROM users;
带条件筛选(WHERE)
通过
WHERE子句限定返回的数据范围: 比较运算:
SELECT * FROM products WHERE price > 99;字符串匹配:
SELECT name FROM users WHERE status = 'active';多条件组合:
SELECT * FROM orders WHERE status = 'shipped' AND created_at >= '2024-01-01';模糊查询:
SELECT * FROM users WHERE name LIKE '%li%';(% 匹配任意长度字符)
排序与限制结果数量
增强查询的实用性:
按字段升序/降序排列:SELECT * FROM users ORDER BY created_at DESC;(
DESC降序,
ASC升序,默认为 ASC) 只取前 N 条记录:
SELECT * FROM logs ORDER BY id DESC LIMIT 10;分页常用写法:
SELECT * FROM articles LIMIT 20 OFFSET 40;(跳过前 40 条,取接下来 20 条)
简单聚合与分组
用于统计分析场景:
计数:SELECT COUNT(*) FROM users WHERE status = 'active';求和/平均值:
SELECT SUM(amount), AVG(amount) FROM orders WHERE year(created_at) = 2023;按类别分组统计:
SELECT category, COUNT(*) FROM products GROUP BY category;配合 HAVING 筛选分组结果:
SELECT department, AVG(salary) FROM employees GROUP BY department HAVING AVG(salary) > 8000;
掌握这些基本用法,就能覆盖日常 80% 以上的单表查询需求。后续可结合 JOIN、子查询等扩展多表关联能力。
