SQL (Structured Query Language) 為關聯式資料庫標準語言,源自 IBM System R,經 ANSI/ISO 1987 標準化。涵蓋資料定義 (DDL) 與資料操作 (DML) 兩大類。
CREATE TABLE table_name (
column1 DATATYPE [NOT NULL] [PRIMARY KEY],
column2 DATATYPE [NOT NULL],
...
);
DATATYPE:資料型別(INT, VARCHAR, DATE 等)。NOT NULL:禁止空值。PRIMARY KEY:主鍵約束。-- 新增欄位
ALTER TABLE table_name ADD COLUMN column_name DATATYPE;
-- 設定主鍵
ALTER TABLE table_name ADD PRIMARY KEY (column_name);
-- 移除主鍵
ALTER TABLE table_name DROP PRIMARY KEY (column_name);
※ 標準 SQL 不支援 DROP COLUMN,各廠商擴充不同。
CREATE INDEX index_name ON table_name (column_name);
SELECT [ALL|DISTINCT] 欄位清單
FROM 表來源
[WHERE 條件]
[GROUP BY 欄位 [HAVING 條件]]
[ORDER BY 欄位 [ASC|DESC]];
INSERT INTO table_name (col1, col2) VALUES (val1, val2);
UPDATE table_name SET col1=val1, col2=val2 WHERE 條件;
DELETE FROM table_name WHERE 條件;
| 類別 | 型別範例 |
|---|---|
| 數值 | INT, BIGINT, DECIMAL(p,s), FLOAT, REAL |
| 字串 | CHAR(n), VARCHAR(n), TEXT, NCHAR, NVARCHAR |
| 日期時間 | DATE, TIME, DATETIME, TIMESTAMP |
| 二進位 | BINARY, VARBINARY, IMAGE |
| 其他 | BIT, UNIQUEIDENTIFIER, XML, JSON |
PRIMARY KEY:唯一識別列,不可為 NULL。FOREIGN KEY:參考完整性。UNIQUE:唯一值,允許一個 NULL。CHECK:條件約束。DEFAULT:預設值。