DB2 提供的 SQL (Structured Query Language) 是近乎自然語言、易學易懂的關聯式資料庫操作語言,涵蓋資料定義 (DDL) 與資料操作 (DML)。ANSI 與 ISO 1987 年制定標準多以 IBM SQL 為基礎。
CREATE TABLE table_name (
column1 DATATYPE [NOT NULL] [PRIMARY KEY],
column2 DATATYPE [NOT NULL],
...
)
DATATYPE:資料型別(詳見下表)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)
注意:DB2 早期版本無 DROP COLUMN 語法。
CREATE INDEX index_name ON table_name (column_name)
DROP TABLE table_name
DROP INDEX index_name
| 型別 | 說明 |
|---|---|
SMALLINT | 16 位元整數 |
INTEGER | 32 位元整數 |
DECIMAL(p,s) | p=精確位數, s=小數位數;預設 p=5, s=0 |
FLOAT | 32 位元實數 |
DOUBLE | 64 位元實數 |
CHAR(n) | 固定長度字串,n ≤ 254 |
VARCHAR(n) | 可變長度字串,最大 n ≤ 4000 |
GRAPHIC(n) | 雙位元組字元,n ≤ 127(支援中文等) |
VARGRAPHIC(n) | 可變雙位元組字串,最大 n ≤ 2000 |
DATE | 年、月、日 |
TIME | 時、分、秒 |
TIMESTAMP | 年、月、日、時、分、秒、千分秒 |
INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...)
table_name 亦可為視圖名稱。本文僅節錄 DML 中 INSERT 部分,完整 DML 尚包含 SELECT、UPDATE、DELETE 語法。