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