Sign in with Microsoft
Sign in or create an account.
Select a different account.
You have multiple accounts
Choose the account you want to sign in with.

Modifies the design of a table after it has been created with the CREATE TABLE statement.

Note: The Microsoft Access database engine does not support the use of ALTER TABLE, or any of the data definition language statements, with non-Microsoft Access databases. Use the DAO Create methods instead.


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} }

The ALTER TABLE statement has these parts:




The name of the table to be altered.


The name of the field to be added to or deleted from table. Or, the name of the field to be altered in table.


The data type of field.


The field size in characters (Text and Binary fields only).


The index for field.


The definition of a multiple-field index to be added to table.


The name of the multiple-field index to be removed.


Using the ALTER TABLE statement you can alter an existing table in several ways. You can:

  • Use ADD COLUMN to add a new field to the table. You specify the field name, data type, and (for Text and Binary fields) an optional size. For example, the following statement adds a 25-character Text field called Notes to the Employees table:


You can also define an index on that field.

If you specify NOT NULL for a field then new records are required to have valid data in that field.

  • Use ALTER COLUMN to change the data type of an existing field. You specify the field name, the new data type, and an optional size for Text and Binary fields. For example, the following statement changes the data type of a field in the Employees table called ZipCode (originally defined as Integer) to a 10-character Text field:


  • Use ADD CONSTRAINT to add a multiple-field index.

  • Use DROP COLUMN to delete a field. You specify only the name of the field.

  • Use DROP CONSTRAINT to delete a multiple-field index. You specify only the index name following the CONSTRAINT reserved word.


    • You cannot add or delete more than one field or index at a time.

    • You can use the CREATE INDEX statement to add a single- or multiple-field index to a table, and you can use ALTER TABLE or the DROP statement to delete an index created with ALTER TABLE or CREATE INDEX.

    • You can use NOT NULL on a single field or within a named CONSTRAINT clause that applies to either a single field or to a multiple-field named CONSTRAINT. However, you can apply the NOT NULL restriction only once to a field. Attempting to apply this restriction more than once restuls in a run-time error.

Need more help?

Want more options?

Explore subscription benefits, browse training courses, learn how to secure your device, and more.

Communities help you ask and answer questions, give feedback, and hear from experts with rich knowledge.

Was this information helpful?

What affected your experience?
By pressing submit, your feedback will be used to improve Microsoft products and services. Your IT admin will be able to collect this data. Privacy Statement.

Thank you for your feedback!