>_FoxiRef
SQL

SQL 速查表

常用SQL 命令集合

#查询 (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 NULLNULL检查
WHERE col IS NOT NULL非NULL检查
WHERE cond1 AND cond2AND条件
WHERE cond1 OR cond2OR条件
WHERE NOT conditionNOT条件

#排序 (ORDER BY)

命令说明
ORDER BY col升序排序
ORDER BY col ASC升序(显式)
ORDER BY col DESC降序排序
ORDER BY col1, col2多列排序
ORDER BY col NULLS FIRSTNULL在前
ORDER BY col NULLS LASTNULL在后

#聚合函数

命令说明
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 colSELECT子句子查询
FROM (SELECT ...) AS tFROM子句子查询
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)日期差

이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

SQL 速查表 - 命令参考 | Foxi Dev Reference