---
metadata:
  - name: generator
    content: Diplodoc Platform v5.50.6
alternate:
  - https://ydb.tech/docs/en/yql/reference/syntax/alter_table.md?version=main
  - https://ydb.tech/docs/ru/yql/reference/syntax/alter_table.md?version=main
sourcePath: en/core/yql/reference/syntax/alter_table/index.md
---
> **Documentation Index:** Fetch the complete configuration index at https://ydb.tech/docs/en/llms.txt

# ALTER TABLE

Using the `ALTER TABLE` command, you can change the column composition and additional parameters  [row](https://ydb.tech/docs/en/concepts/datamodel/table.md?version=main#row-tables) and [column](https://ydb.tech/docs/en/concepts/datamodel/table.md?version=main#colums-tables) tables. You can specify multiple actions in a single command. In general, the `ALTER TABLE` command looks like this:


```yql
ALTER TABLE table_name action1, action2, ..., actionN;
```


`action` is any table modification action from those described below:

* [Renaming a table](https://ydb.tech/docs/en/yql/reference/syntax/alter_table/rename.md?version=main).
* Working with [columns](https://ydb.tech/docs/en/yql/reference/syntax/alter_table/columns.md?version=main) of row and column tables.
* Adding or removing a [change stream](https://ydb.tech/docs/en/yql/reference/syntax/alter_table/changefeed.md?version=main).
* Working with [indexes](https://ydb.tech/docs/en/yql/reference/syntax/alter_table/indexes.md?version=main).
* Working with [column groups](https://ydb.tech/docs/en/yql/reference/syntax/alter_table/family.md?version=main) of a row table.


* Changing [additional table parameters](https://ydb.tech/docs/en/yql/reference/syntax/alter_table/set.md?version=main).


* [Running forced compaction](https://ydb.tech/docs/en/yql/reference/syntax/alter_table/compact.md?version=main).
* [Setting and resetting the NOT NULL constraint](https://ydb.tech/docs/en/yql/reference/syntax/alter_table/not_null.md?version=main).
