SQL Server 核心語法分類與常用範例速查表。
CREATE DATABASE db_name;
CREATE TABLE table_name (
col1 datatype [NOT NULL] [PRIMARY KEY],
col2 datatype [NOT NULL],
...
);
ALTER TABLE table_name ADD COLUMN col_name datatype;
ALTER TABLE table_name ADD PRIMARY KEY (col_name);
ALTER TABLE table_name DROP PRIMARY KEY;
CREATE [UNIQUE] INDEX idx_name ON table_name (col_name);
DROP INDEX idx_name;
CREATE VIEW view_name AS SELECT ...;
DROP VIEW view_name;
DROP TABLE table_name;
DROP INDEX idx_name;
| 型別 | 說明 |
|---|---|
| SMALLINT | 16 位元整數 (-32,768 ~ 32,767) |
| INT / INTEGER | 32 位元整數 (-2.14B ~ 2.14B) |
| BIGINT | 64 位元整數 |
| DECIMAL(p,s) / NUMERIC(p,s) | 精確數值,p 總位數,s 小數位數 |
| FLOAT / REAL | 近似數值 |
| CHAR(n) | 固定長度字串,n ≤ 8000 |
| VARCHAR(n) | 變動長度字串,n ≤ 8000 (MAX 為 2GB) |
| NCHAR(n) / NVARCHAR(n) | Unicode 字串,n ≤ 4000 (MAX 為 2GB) |
| DATE | 日期 (YYYY-MM-DD) |
| TIME | 時間 (hh:mm:ss.nnnnnnn) |
| DATETIME / DATETIME2 | 日期時間,DATETIME2 精度更高 |
INSERT INTO table (col1, col2) VALUES (val1, val2);
INSERT INTO table (col1, col2) SELECT col1, col2 FROM other_table;
SELECT col1, col2 FROM table WHERE col1 = 'val' [AND/OR ...];
SELECT * FROM table ORDER BY col1 DESC, col2 ASC;
UPDATE table SET col1 = val1 WHERE condition;
DELETE FROM table WHERE condition;
UNION:合併並去重複。UNION ALL:合併保留重複 (效能較好)。EXCEPT:第一個結果集減去第二個結果集 (SQL Server)。INTERSECT:取交集。COUNT(*), SUM(col), AVG(col), MAX(col), MIN(col)
此速查表涵蓋日常開發 90% 以上語法需求,進階功能 (CTE、Window Functions、PIVOT、JSON、Graph) 請參考官方文件。