ALTER TABLE 陳述式

套用到
Microsoft 365 Access Access 2024 Access 2021 Access 2019 Access 2016

使用 CREATE TABLE 陳述式建立資料表之後,修改資料表的設計。

注意

Microsoft Access 資料庫引擎不支援搭配非 Microsoft Access 資料庫使用 ALTER TABLE 或任何資料定義語言陳述式。 請改為使用 DAO Create 方法。

語法

ALTER TABLE TABLE {ADD {COLUMN 欄位類型[ (大小) ] [非空] [限制 索引] |
變更欄位 欄位類型[ (大小) ] |
CONSTRAINT multifieldindex} |
DROP {欄位 欄位 I 約束 indexname} }

ALTER TABLE 陳述式由下列各部分組成:

部分 描述
table 要更改之資料表的名稱。
field 要在 table 中新增或從中刪除之欄位的名稱。 或者,要在 table 中更改之欄位的名稱。
type field 的資料類型。
size 欄位大小,以字元為單位 (僅限 [文字] 和 [二進位] 欄位)。
index field 的索引。
multifieldindex 要新增至 table 之多欄位索引的定義。
indexname 要移除之多欄位索引的名稱。

備註

您可以使用 ALTER TABLE 陳述式,以數種方式更改現有的資料表。 您可以:

  • 使用 ADD COLUMN 將新欄位加入至資料表。 您可以指定欄位名稱、資料類型,以及 ([文字] 和 [二進位] 欄位) 的選擇性大小。 例如,下列陳述式會將稱為 Notes 的 25 個字元 [文字] 欄位新增到 [員工] 資料表:

ALTER TABLE Employees ADD COLUMN Notes TEXT(25)

您也可以定義該欄位的索引。

如果您為某個欄位指定 NOT NULL,則該欄位中的新記錄必須存在有效的資料。

  • 使用 ALTER COLUMN 變更現有欄位的資料類型。 您可以指定欄位名稱、新的資料類型,以及 [文字] 和 [二進位] 欄位的選擇性大小。 例如,下列陳述式會將 [員工] 資料表中,稱為 ZipCode 的某個欄位的資料類型 (原本定義為整數),變更為 10 個字元的 [文字] 欄位:

ALTER TABLE Employees ALTER COLUMN ZipCode TEXT(10)

  • 使用 ADD CONSTRAINT 新增多欄位索引。

  • 使用 DROP COLUMN 刪除欄位。 您可以僅指定欄位的名稱。

  • 使用 DROP CONSTRAINT 刪除多欄位索引。 您可以在 CONSTRAINT 保留字之後,僅指定索引名稱。

    注意

    • 您無法一次新增或刪除多個欄位或索引。
    • 您可以使用 CREATE INDEX 陳述式,將單一欄位索引或多欄位索引新增至資料表,而且您可以使用 ALTER TABLE 或 DROP 陳述式刪除使用 ALTER TABLE 或 CREATE INDEX 建立的索引。
    • 您可以在單一欄位上,或在適用於名稱為 CONSTRAINT 之單一欄位或多欄位的具名 CONSTRAINT 子句內使用 NOT NULL。 不過,您只能將 NOT NULL 限制套用一次到某個欄位。 嘗試多次套用此限制會導致執行階段錯誤。