CREATE TABLE 用於在資料庫中建立新資料表。每個表需指定名稱,並定義一組欄位,每個欄位包含名稱、資料類型與長度(視類型而定)。
CREATE TABLE table_name ( column_name1 data_type(size), column_name2 data_type(size), column_name3 data_type(size), ... );
int、varchar、decimal、date 等。| 類別 | 類型 | 說明 |
|---|---|---|
| 數值 | INT / INTEGER | 整數,通常 4 bytes |
| DECIMAL(p,s) / NUMERIC | 精確小數,p=總位數,s=小數位 | |
| FLOAT / REAL | 近似數值,科學計算用 | |
| 字串 | VARCHAR(n) | 可變長度字串,最多 n 字元 |
| CHAR(n) | 固定長度字串,不足補空白 | |
| TEXT / CLOB | 大型文本資料 | |
| 日期時間 | DATE | 日期(YYYY-MM-DD) |
| DATETIME / TIMESTAMP | 日期時間,含時分秒 | |
| TIME | 時間(HH:MM:SS) | |
| 邏輯 | BOOLEAN / BIT | 真/假值 |
提示:各資料庫支援的類型細節不同,請參考 MySQL、SQL Server、PostgreSQL、Oracle 官方文件。
需求:建立包含五個欄位的 Persons 表。
CREATE TABLE Persons ( PersonID int, LastName varchar(255), FirstName varchar(255), Address varchar(255), City varchar(255) );
欄位說明:
PersonID:整數型識別碼LastName、FirstName、Address、City:可變長度字串,上限 255 字元| PersonID | LastName | FirstName | Address | City |
|---|---|---|---|---|
| (無資料列) | ||||
提示:建立空表後,可使用 INSERT INTO 寫入資料,詳見後續章節。
實務上常在 CREATE TABLE 直接定義主鍵、非空、唯一等約束:
CREATE TABLE Persons ( PersonID int NOT NULL PRIMARY KEY, LastName varchar(255) NOT NULL, Email varchar(255) UNIQUE, CreatedAt datetime DEFAULT CURRENT_TIMESTAMP );