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);
注意:標準 SQL 無 DROP COLUMN,各廠商擴充不同(SQL Server 用 ALTER TABLE ... DROP COLUMN)。
CREATE INDEX index_name ON table_name (column_name);
DROP TABLE table_name;
DROP INDEX index_name;
| 型別 | 說明 |
|---|---|
SMALLINT | 16-bit 整數 |
INTEGER | 32-bit 整數 |
DECIMAL(p,s) | p 總位數,s 小數位;預設 p=5, s=0 |
FLOAT | 32-bit 浮點數 |
DOUBLE | 64-bit 浮點數 |
CHAR(n) | 固定長度字串,n ≤ 254 |
VARCHAR(n) | 變動長度字串,n ≤ 4000 |
GRAPHIC(n) | 雙位元組字串(中文等),n ≤ 127 |
VARGGRAPHIC(n) | 變長雙位元組字串,n ≤ 2000 |
DATE | 年月日 |
TIME | 時分秒 |
TIMESTAMP | 年月日時分秒毫秒 |
-- 直接指定值
INSERT INTO table_name (col1, col2, ...) VALUES (val1, val2, ...);
-- 從子查詢複製
INSERT INTO table_name (col1, col2, ...)
SELECT colx, coly, ... FROM another_table;
SELECT [DISTINCT] column_list
FROM table_name
[WHERE condition]
[GROUP BY column_list [HAVING condition]]
[ORDER BY column_list [ASC|DESC]];
UPDATE table_name
SET col1 = val1, col2 = val2, ...
[WHERE condition];
DELETE FROM table_name [WHERE condition];