#查询 (SELECT)
| 命令 | 说明 | |
|---|---|---|
SELECT * FROM table | 查询所有列 | |
SELECT col1, col2 FROM table | 查询指定列 | |
SELECT DISTINCT col FROM table | 去重查询 | |
SELECT col AS alias FROM table | 使用别名 | |
SELECT * FROM table LIMIT 10 | 限制结果数量 | |
SELECT * FROM table OFFSET 5 | 跳过结果 |
#条件 (WHERE)
| 命令 | 说明 | |
|---|---|---|
WHERE col = value | 等于 | |
WHERE col <> value | 不等于 | |
WHERE col > value | 大于 | |
WHERE col >= value | 大于等于 | |
WHERE col < value | 小于 | |
WHERE col <= value | 小于等于 | |
WHERE col BETWEEN a AND b | 在范围内 | |
WHERE col IN (v1, v2, v3) | 在列表中 | |
WHERE col LIKE '%pattern%' | 模式匹配 | |
WHERE col IS NULL | NULL检查 | |
WHERE col IS NOT NULL | 非NULL检查 | |
WHERE cond1 AND cond2 | AND条件 | |
WHERE cond1 OR cond2 | OR条件 | |
WHERE NOT condition | NOT条件 |
#排序 (ORDER BY)
| 命令 | 说明 | |
|---|---|---|
ORDER BY col | 升序排序 | |
ORDER BY col ASC | 升序(显式) | |
ORDER BY col DESC | 降序排序 | |
ORDER BY col1, col2 | 多列排序 | |
ORDER BY col NULLS FIRST | NULL在前 | |
ORDER BY col NULLS LAST | NULL在后 |
#聚合函数
| 命令 | 说明 | |
|---|---|---|
COUNT(*) | 行数 | |
COUNT(col) | 非NULL计数 | |
COUNT(DISTINCT col) | 唯一值计数 | |
SUM(col) | 求和 | |
AVG(col) | 平均值 | |
MIN(col) | 最小值 | |
MAX(col) | 最大值 | |
GROUP BY col | 分组 | |
HAVING condition | 分组过滤 |
#连接 (JOIN)
| 命令 | 说明 | |
|---|---|---|
INNER JOIN t2 ON t1.col = t2.col | 内连接 | |
LEFT JOIN t2 ON t1.col = t2.col | 左外连接 | |
RIGHT JOIN t2 ON t1.col = t2.col | 右外连接 | |
FULL OUTER JOIN t2 ON ... | 全外连接 | |
CROSS JOIN t2 | 交叉连接 | |
SELF JOIN (t AS a, t AS b) | 自连接 | |
NATURAL JOIN t2 | 自然连接 |
#插入 (INSERT)
| 命令 | 说明 | |
|---|---|---|
INSERT INTO t (cols) VALUES (vals) | 插入单行 | |
INSERT INTO t VALUES (v1), (v2) | 插入多行 | |
INSERT INTO t SELECT ... | 从SELECT插入 | |
INSERT INTO t DEFAULT VALUES | 插入默认值 |
#更新 (UPDATE)
| 命令 | 说明 | |
|---|---|---|
UPDATE t SET col = val | 更新所有行 | |
UPDATE t SET col = val WHERE ... | 条件更新 | |
UPDATE t SET c1 = v1, c2 = v2 | 更新多列 | |
UPDATE t SET col = col + 1 | 基于现有值更新 |
#删除 (DELETE)
| 命令 | 说明 | |
|---|---|---|
DELETE FROM t | 删除所有行 | |
DELETE FROM t WHERE ... | 条件删除 | |
TRUNCATE TABLE t | 清空表(快速) |
#表管理
| 命令 | 说明 | |
|---|---|---|
CREATE TABLE t (col type, ...) | 创建表 | |
DROP TABLE t | 删除表 | |
ALTER TABLE t ADD col type | 添加列 | |
ALTER TABLE t DROP COLUMN col | 删除列 | |
ALTER TABLE t RENAME TO new | 重命名表 | |
CREATE INDEX idx ON t(col) | 创建索引 | |
DROP INDEX idx | 删除索引 |
#约束
| 命令 | 说明 | |
|---|---|---|
PRIMARY KEY | 主键 | |
FOREIGN KEY REFERENCES t(col) | 外键 | |
UNIQUE | 唯一约束 | |
NOT NULL | 非空 | |
DEFAULT value | 默认值 | |
CHECK (condition) | 检查约束 | |
AUTO_INCREMENT / SERIAL | 自动递增 |
#子查询
| 命令 | 说明 | |
|---|---|---|
WHERE col IN (SELECT ...) | IN子查询 | |
WHERE col = (SELECT ...) | 标量子查询 | |
WHERE EXISTS (SELECT ...) | EXISTS子查询 | |
SELECT (SELECT ...) AS col | SELECT子句子查询 | |
FROM (SELECT ...) AS t | FROM子句子查询 | |
WITH cte AS (SELECT ...) | CTE(公用表表达式) |
#字符串/日期函数
| 命令 | 说明 | |
|---|---|---|
CONCAT(s1, s2) | 字符串连接 | |
UPPER(str) / LOWER(str) | 大小写转换 | |
LENGTH(str) | 字符串长度 | |
SUBSTRING(str, start, len) | 子字符串 | |
TRIM(str) | 去除空格 | |
REPLACE(str, from, to) | 字符串替换 | |
NOW() / CURRENT_TIMESTAMP | 当前时间 | |
DATE(datetime) | 提取日期 | |
YEAR(date) / MONTH(date) | 提取年/月 | |
DATEDIFF(d1, d2) | 日期差 |
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.