基本表建立
CREATE TABLE
語句用於在 MySQL 資料庫中建立表。
CREATE TABLE Person (
`PersonID` INTEGER NOT NULL PRIMARY KEY,
`LastName` VARCHAR(80),
`FirstName` VARCHAR(80),
`Address` TEXT,
`City` VARCHAR(100)
) Engine=InnoDB;
每個欄位定義必須具有:
- 欄位名稱:有效欄位名稱。確保將名字包含在`-chars 中。這可確保你可以在 fieldname 中使用例如 space-chars。
- 資料型別[長度]:如果欄位為
CHAR
或VARCHAR
,則必須指定欄位長度。 - 屬性
NULL
|NOT NULL
:如果指定了NOT NULL
,則任何在該欄位中儲存NULL
值的嘗試都將失敗。 - 檢視更多的資料型別及其屬性在這裡 。
Engine=...
是一個可選引數,用於指定表的儲存引擎。如果未指定儲存引擎,則將使用伺服器的預設表儲存引擎(通常為 InnoDB 或 MyISAM)建立表。
設定預設值
此外,在有意義的地方,你可以使用 DEFAULT
為每個欄位設定預設值:
CREATE TABLE Address (
`AddressID` INTEGER NOT NULL PRIMARY KEY,
`Street` VARCHAR(80),
`City` VARCHAR(80),
`Country` VARCHAR(80) DEFAULT "United States",
`Active` BOOLEAN DEFAULT 1,
) Engine=InnoDB;
如果在插入期間沒有指定 Street
,則在檢索時該欄位將為 NULL
。如果在插入時未指定 Country
,則預設為美國。
你可以為所有列型別設定預設值,除了對 BLOB
,TEXT
,GEOMETRY
和 JSON
領域。