ClickHouse/docs/ja/sql-reference/statements/rename.md
2024-11-18 11:58:58 +09:00

63 lines
2.2 KiB
Markdown

---
slug: /ja/sql-reference/statements/rename
sidebar_position: 48
sidebar_label: RENAME
---
# RENAME ステートメント
データベース、テーブル、または Dictionary の名前を変更します。複数のエンティティを単一のクエリでリネームできます。複数のエンティティを伴う `RENAME` クエリは非原子的操作であることに注意してください。エンティティの名前を原子的に交換するには、[EXCHANGE](./exchange.md) ステートメントを使用してください。
**構文**
```sql
RENAME [DATABASE|TABLE|DICTIONARY] name TO new_name [,...] [ON CLUSTER cluster]
```
## RENAME DATABASE
データベースの名前を変更します。
**構文**
```sql
RENAME DATABASE atomic_database1 TO atomic_database2 [,...] [ON CLUSTER cluster]
```
## RENAME TABLE
一つまたは複数のテーブルの名前を変更します。
テーブルのリネームは軽量な操作です。`TO` の後に異なるデータベースを指定すると、テーブルはそのデータベースに移動します。ただし、データベースのディレクトリは同じファイルシステムに存在する必要があります。そうでない場合、エラーが返されます。 もし一つのクエリで複数のテーブルをリネームすると、その操作は原子的ではありません。部分的に実行されることがあり、他のセッションで `Table ... does not exist ...` エラーが発生する可能性があります。
**構文**
``` sql
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;
```
そして、よりシンプルな SQL を使うこともできます:
```sql
RENAME table_A TO table_A_bak, table_B TO table_B_bak;
```
## RENAME DICTIONARY
一つまたは複数の Dictionary の名前を変更します。このクエリは、Dictionary をデータベース間で移動するために使用できます。
**構文**
```sql
RENAME DICTIONARY [db0.]dict_A TO [db1.]dict_B [,...] [ON CLUSTER cluster]
```
**関連項目**
- [Dictionaries](../../sql-reference/dictionaries/index.md)