TL;DR
查询骨架:SELECT 列 FROM 表 WHERE 条件 GROUP BY 列 HAVING 条件 ORDER BY 列 LIMIT n;连接用 JOIN ... ON;事务用 BEGIN / COMMIT / ROLLBACK。
查询
| 场景 | SQL |
|---|
| 基础查询 | SELECT a, b FROM t WHERE c = 1 |
| 去重 | SELECT DISTINCT a FROM t |
| 排序分页 | SELECT * FROM t ORDER BY id DESC LIMIT 10 OFFSET 0 |
| 模糊 | WHERE name LIKE '%关键词%' |
| 分组聚合 | SELECT dept, COUNT() FROM t GROUP BY dept HAVING COUNT() > 5 |
连接
| 类型 | 说明 |
|---|
INNER JOIN | 两边都有才返回 |
LEFT JOIN | 左表全部 + 右表匹配 |
RIGHT JOIN | 右表全部 + 左表匹配 |
FULL OUTER JOIN | 全部保留(部分数据库不支持) |
增删改
| 操作 | SQL |
|---|
| 插入 | INSERT INTO t (a, b) VALUES (1, 'x') |
| 更新 | UPDATE t SET b = 'y' WHERE id = 1 |
| 删除 | DELETE FROM t WHERE id = 1(忘写 WHERE 会清表) |
事务与索引
| 操作 | SQL |
|---|
| 事务 | BEGIN; ...; COMMIT; 或 ROLLBACK; |
| 建索引 | CREATE INDEX idx_name ON t (col) |
| 查看执行计划 | EXPLAIN SELECT ... |
来源
最后更新:2026-08-02