2020-08-10 13:10:48 +00:00
---
2022-08-26 17:37:11 +00:00
slug: /ru/sql-reference/statements/rename
2022-04-09 13:29:05 +00:00
sidebar_position: 48
sidebar_label: RENAME
2020-08-10 13:10:48 +00:00
---
2021-08-09 05:49:39 +00:00
# RENAME {#misc_operations-rename}
2020-08-10 13:10:48 +00:00
2021-08-04 06:46:20 +00:00
Переименовывает базы данных, таблицы или словари. Несколько сущностей могут быть переименованы в одном запросе.
2021-08-04 20:53:43 +00:00
Обратите внимание, что запрос `RENAME` с несколькими сущностями это неатомарная операция. Чтобы обменять имена атомарно, используйте выражение [EXCHANGE ](./exchange.md ).
2021-08-04 06:46:20 +00:00
2023-09-05 12:43:53 +00:00
:::note Примечание
Запрос `RENAME` поддерживается только движком баз данных [Atomic ](../../engines/database-engines/atomic.md ).
:::
2021-08-04 06:46:20 +00:00
**Синтаксис**
2021-04-09 11:21:09 +00:00
2021-08-04 06:46:20 +00:00
```sql
RENAME DATABASE|TABLE|DICTIONARY name TO new_name [,...] [ON CLUSTER cluster]
2021-04-09 11:21:09 +00:00
```
2021-08-04 06:46:20 +00:00
## RENAME DATABASE {#misc_operations-rename_database}
Переименовывает базы данных.
**Синтаксис**
```sql
RENAME DATABASE atomic_database1 TO atomic_database2 [,...] [ON CLUSTER cluster]
2021-04-09 11:21:09 +00:00
```
## RENAME TABLE {#misc_operations-rename_table}
2021-08-04 06:46:20 +00:00
2020-08-10 13:10:48 +00:00
Переименовывает одну или несколько таблиц.
2021-08-04 20:53:43 +00:00
Переименовывание таблиц является лёгкой операцией. Если вы указали после `TO` другую базу данных, то таблица будет перенесена в эту базу данных. При этом директории с базами данных должны быть расположены в одной файловой системе, иначе возвращается ошибка. Если переименовывается несколько таблиц в одном запросе, то такая операция неатомарная. Она может выполнится частично, и запросы в других сессиях могут получить ошибку `Table ... doesn't exist...` .
2021-08-04 06:46:20 +00:00
**Синтаксис**
2020-08-10 13:10:48 +00:00
``` sql
2021-08-04 06:46:20 +00:00
RENAME TABLE [db1.]name1 TO [db2.]name2 [,...] [ON CLUSTER cluster]
```
**Пример**
```sql
RENAME TABLE table_A TO table_A_bak, table_B TO table_B_bak;
```
## RENAME DICTIONARY {#rename_dictionary}
Переименовывает один или несколько словарей. Этот запрос можно использовать для перемещения словарей между базами данных.
**Синтаксис**
```sql
RENAME DICTIONARY [db0.]dict_A TO [db1.]dict_B [,...] [ON CLUSTER cluster]
2020-08-10 13:10:48 +00:00
```
2021-08-04 06:46:20 +00:00
**Смотрите также**
- [Словари ](../../sql-reference/dictionaries/index.md )