ALTER TABLE 语句

应用对象
Microsoft 365 专属 Access Access 2024 Access 2021 Access 2019 Access 2016

在使用 CREATE TABLE 语句创建表后修改它的设计。

注意

Microsoft Access 数据库引擎不支持将 ALTER TABLE 或任何数据定义语言语句与非 Microsoft Access 数据库引擎数据库结合使用。 请改为使用 DAO Create 方法。

语法

ALTER TABLE table {ADD {COLUMN field type[ (size) ] [NOT NULL] [CONSTRAINT index] |
ALTER COLUMN field type[ (size) ] |
CONSTRAINT multifieldindex} |
DROP {COLUMN field I CONSTRAINT indexname} }

ALTER TABLE 语句包含以下部分:

部分 说明
table 要更改的表名称。
field 要添加到表中或要从中删除的字段名称。 或要在表中更改的字段名称。
type 字段的数据类型。
size 以字符数为单位的字段大小(仅限于“文本”字段和“二进制”字段)。
index 字段的索引。
multifieldindex 要添加到表中的多字段索引的定义。
indexname 要删除的多字段索引的名称。

备注

使用 ALTER TABLE 语句能够以多种方式更改现有表。 可以:

  • 使用 ADD COLUMN 将新字段添加到表。 指定字段名称、数据类型,以及(对于“文本”字段和“二进制”字段)可选尺寸。 例如,以下语句将名为 Notes 的 25 个字符的 Text 字段添加到“员工”表中:

ALTER TABLE Employees ADD COLUMN Notes TEXT(25)

也可以在该字段上定义索引。

如果为字段指定 NOT NULL,则需要新记录才能在该字段中包含有效数据。

  • 使用 ALTER COLUMN 更改现有字段的数据类型。 指定字段名称、新的字段类型以及“文本”字段和“二进制”字段的可选大小。 例如,以下语句将“员工”表中名为 ZipCode 的某个字段的数据类型(最初定义为 Integer)更改为 10 个字符的 Text 字段:

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 限制。 尝试多次应用此限制将造成运行时错误。