ClickHouse/docs/ru/sql-reference/statements/rename.md

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

62 lines
2.7 KiB
Markdown
Raw Normal View History

---
2022-08-26 17:37:11 +00:00
slug: /ru/sql-reference/statements/rename
sidebar_position: 48
sidebar_label: RENAME
---
# RENAME {#misc_operations-rename}
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
:::note "Примечание"
2021-08-04 06:46:20 +00:00
Запрос `RENAME` поддерживается только движком баз данных [Atomic](../../engines/database-engines/atomic.md).
:::
2021-08-04 06:46:20 +00:00
**Синтаксис**
2021-08-04 06:46:20 +00:00
```sql
RENAME DATABASE|TABLE|DICTIONARY name TO new_name [,...] [ON CLUSTER cluster]
```
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]
```
## RENAME TABLE {#misc_operations-rename_table}
2021-08-04 06:46:20 +00:00
Переименовывает одну или несколько таблиц.
2021-08-04 20:53:43 +00:00
Переименовывание таблиц является лёгкой операцией. Если вы указали после `TO` другую базу данных, то таблица будет перенесена в эту базу данных. При этом директории с базами данных должны быть расположены в одной файловой системе, иначе возвращается ошибка. Если переименовывается несколько таблиц в одном запросе, то такая операция неатомарная. Она может выполнится частично, и запросы в других сессиях могут получить ошибку `Table ... doesn't exist...`.
2021-08-04 06:46:20 +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]
```
2021-08-04 06:46:20 +00:00
**Смотрите также**
- [Словари](../../sql-reference/dictionaries/index.md)