基本表建立

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;

每個欄位定義必須具有:

  1. 欄位名稱:有效欄位名稱。確保將名字包含在`-chars 中。這可確保你可以在 fieldname 中使用例如 space-chars。
  2. 資料型別[長度]:如果欄位為 CHARVARCHAR,則必須指定欄位長度。
  3. 屬性 NULL | NOT NULL:如果指定了 NOT NULL,則任何在該欄位中儲存 NULL 值的嘗試都將失敗。
  4. 檢視更多的資料型別及其屬性在這裡

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,則預設為美國

你可以為所有列型別設定預設值,除了BLOBTEXTGEOMETRYJSON 領域。