RUNWEBTOOLS
简体中文

SQL 速查表

按任务分组的核心 SQL 语句,用于查询和修改数据。确切语法在不同数据库(PostgreSQL、MySQL、SQLite、SQL Server)间略有差异,但下面的基础几乎通用。要整理杂乱的查询,用 SQL 格式化工具

更新 2026-07-06

查询(SELECT)

语句作用
SELECT * FROM t返回表 t 的每一列每一行
SELECT a, b FROM t只返回列 a 和 b
SELECT DISTINCT a FROM t返回 a 的唯一值
... WHERE a = 5过滤 a 等于 5 的行
... ORDER BY a DESC按 a 降序排序
... LIMIT 10最多返回 10 行
... OFFSET 20跳过前 20 行(分页)
SELECT COUNT(*) FROM t统计行数
SELECT SUM(a), AVG(a) FROM t聚合:a 的总和与平均
... GROUP BY category按类别分组以聚合
... HAVING COUNT(*) > 5过滤分组(用于聚合的 WHERE)

过滤(WHERE)

语句作用
WHERE a IN (1, 2, 3)匹配列表中的任意值
WHERE a BETWEEN 1 AND 9匹配一个范围(含两端)
WHERE name LIKE 'A%'模式匹配:以 A 开头(% = 任意字符)
WHERE name LIKE '_at'_ 恰好匹配一个字符
WHERE a IS NULL匹配 a 没有值的行
WHERE a > 5 AND b < 10用 AND / OR 组合条件

连接表

语句作用
INNER JOIN u ON t.id = u.tid两表都有匹配的行
LEFT JOIN u ON t.id = u.tid左表的所有行(无论是否匹配)
RIGHT JOIN u ON t.id = u.tid右表的所有行
FULL JOIN u ON t.id = u.tid两表的所有行

修改数据

语句作用
INSERT INTO t (a, b) VALUES (1, 2)添加一个新行
UPDATE t SET a = 5 WHERE id = 1修改已有行(注意 WHERE!)
DELETE FROM t WHERE id = 1删除行(注意 WHERE!)

模式(表与索引)

语句作用
CREATE TABLE t (id INT, name TEXT)创建一张新表
ALTER TABLE t ADD col TEXT添加一列
DROP TABLE t删除一张表及其所有数据
CREATE INDEX idx ON t (a)添加索引以加快对 a 的查找

值得保持的安全习惯:先写 UPDATEDELETEWHERE 子句。不带 WHERE 执行会修改或删除表中的每一行。

相关工具