| 操作 | 語法範例 |
|---|---|
| 建立資料庫 | CREATE DATABASE db_name |
| 刪除資料庫 | DROP DATABASE db_name |
| 備份 SQL Server | EXEC sp_addumpdevice 'disk','testBack','c:\backup.dat'; BACKUP DATABASE pubs TO testBack |
| 建立資料表 | CREATE TABLE t(c1 INT PRIMARY KEY, c2 VARCHAR(50) NOT NULL) |
| 依現有表建表 | A: CREATE TABLE t_new LIKE t_old / B: CREATE TABLE t_new AS SELECT c1,c2 FROM t_old DEFINITION ONLY |
| 刪除資料表 | DROP TABLE t_name |
| 新增欄位 | ALTER TABLE t ADD c3 INT (註:不可刪除欄位,型別僅能擴充 VARCHAR 長度) |
| 主鍵增刪 | ALTER TABLE t ADD/DROP PRIMARY KEY (c1) |
| 索引增刪 | CREATE [UNIQUE] INDEX idx ON t(c1); DROP INDEX idx (索引不可改,需重建) |
| 視圖增刪 | CREATE VIEW v AS SELECT ...; DROP VIEW v |
SELECT * FROM t WHERE 條件
INSERT INTO t(c1,c2) VALUES(v1,v2)
DELETE FROM t WHERE 條件
UPDATE t SET c1=v1 WHERE 條件
SELECT * FROM t WHERE c1 LIKE '%val%'
SELECT * FROM t ORDER BY c1, c2 [DESC]
SELECT COUNT(*) AS total FROM t
SELECT SUM(c1) AS sumv, AVG(c1) AS avgv, MAX(c1) AS maxv, MIN(c1) AS minv FROM t
| 運算子 | 行為 | 保留重複 |
|---|---|---|
UNION | 合併兩結果集,去除重複列 | UNION ALL 保留重複 |
EXCEPT | 第一集合減去第二集合 (差集) | EXCEPT ALL 保留重複 |
INTERSECT | 取兩集合交集 | INTERSECT ALL 保留重複 |
註:參與運算的查詢欄位數、型別、順序必須一致。
SELECT a.*, b.c1 FROM a LEFT OUTER JOIN b ON a.id = b.a_id
SUBSTRING(str, start, len), CHARINDEX(sub, str), REPLACE(str, old, new)GETDATE(), DATEADD(interval, num, date), DATEDIFF(interval, d1, d2), CONVERT(fmt, date)掌握這些核心語法可應付 90% 開發場景,複雜分析再查閱進階視窗函數、CTE、PIVOT/UNPIVOT 等。