The ALTER TABLE statement applies a schema change to a table.
This statement performs a schema change. For more information about how online schema changes work in CockroachDB, see Online Schema Changes.
Viewing schema changes
This schema change statement is registered as a job.  You can view long-running jobs with SHOW JOBS.
Subcommands
For information on using ALTER TABLE, see the documents for its relevant subcommands.
New in v19.1: Some subcommands can be used in combination in a single ALTER TABLE statement. For example, you can atomically rename a column and add a new column with the old name of the existing column.
| Subcommand | Description | Can combine with other subcommands? | 
|---|---|---|
| ADD COLUMN | Add columns to tables. | Yes | 
| ADD CONSTRAINT | Add constraints to columns. | Yes | 
| ALTER COLUMN | Change or drop a column's DEFAULTconstraint or drop theNOT NULLconstraint. | Yes | 
| ALTER TYPE | Change a column's data type. | Yes | 
| CONFIGURE ZONE | Configure replication zones for a table. | No | 
| DROP COLUMN | Remove columns from tables. | Yes | 
| DROP CONSTRAINT | Remove constraints from columns. | Yes | 
| EXPERIMENTAL_AUDIT | Enable per-table audit logs. | Yes | 
| PARTITION BY | Repartition or unpartition a table with partitions (Enterprise-only). | Yes | 
| RENAME COLUMN | Change the names of columns. | Yes | 
| RENAME CONSTRAINT | Change constraints columns. | Yes | 
| RENAME TABLE | Change the names of tables. | No | 
| SPLIT AT | Force a key-value layer range split at the specified row in the table. | No | 
| VALIDATE CONSTRAINT | Check whether values in a column match a constraint on the column. | Yes | 
Viewing schema changes
This schema change statement is registered as a job.  You can view long-running jobs with SHOW JOBS.