
SQL 入門語法速查表(適用 MySQL / SQLite / PostgreSQL):
1 數(shù)據(jù)查詢(SELECT)
查詢?nèi)苛校篠ELECT * FROM 表名;
查詢指定列:SELECT 列1, 列2 FROM 表名;
設(shè)置別名:SELECT 列1 AS 別名 FROM 表名;
條件查詢:SELECT * FROM 表名 WHERE 條件;
排序:ORDER BY 列名 ASC/DESC
去重:SELECT DISTINCT 列名 FROM 表名;
限制條數(shù):LIMIT 10
分頁:LIMIT 10 OFFSET 20
2 條件(WHERE 子句)
等于:= 10
不等于:<> 'A' 或 != 'A'
大于 / 小于:>, <, >=, <=
范圍:BETWEEN 10 AND 20
模糊匹配:LIKE '%abc%'
多值匹配:IN ('A', 'B', 'C')
為空:IS NULL / IS NOT NULL
3 聚合函數(shù)(GROUP BY)
總數(shù):SELECT COUNT(*)
求和:SELECT SUM(列名)
平均:SELECT AVG(列名)
最大 / 最小:MAX(列名), MIN(列名)
分組統(tǒng)計:GROUP BY 列名
條件分組:HAVING COUNT(*) > 1
4 表連接(JOIN)
內(nèi)連接:SELECT * FROM A JOIN B ON A.id = B.id;
左連接:LEFT JOIN
右連接:RIGHT JOIN
全連接(某些數(shù)據(jù)庫不支持):FULL OUTER JOIN
5 數(shù)據(jù)操作(INSERT / UPDATE / DELETE)
插入:INSERT INTO 表名 (列1, 列2) VALUES (值1, 值2);
批量插入:VALUES (...), (...);
更新:UPDATE 表名 SET 列1 = 值1 WHERE 條件;
刪除:DELETE FROM 表名 WHERE 條件;
6 表結(jié)構(gòu)(CREATE / ALTER / DROP)
創(chuàng)建表:CREATE TABLE 表名 (id INT, name TEXT);
修改表結(jié)構(gòu):ALTER TABLE 表名 ADD 列名 類型;
刪除表:DROP TABLE 表名;
查看結(jié)構(gòu):DESCRIBE 表名
7 其他技巧
計算列:SELECT price * quantity AS total FROM 表名;
CASE條件:SELECT CASE WHEN price > 100 THEN '高' ELSE '低' END
排名:RANK()? OVER (PARTITION BY 列 ORDER BY 列 DESC)
8 文件導(dǎo)入導(dǎo)出(MySQL)
-- 導(dǎo)出數(shù)據(jù)
SELECT * FROM 表 INTO OUTFILE '/path/文件.csv'
FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n';
-- 導(dǎo)入數(shù)據(jù)
LOAD DATA INFILE '/path/文件.csv'
INTO TABLE 表名
FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n';