跳到主要内容
跳到主要内容

RENAME 语句

重命名数据库、表或字典。多个实体可以在单个查询中重命名。 请注意,包含多个实体的 RENAME 查询是非原子操作。要原子性地交换实体名称,请使用 EXCHANGE 语句。

语法

RENAME [DATABASE|TABLE|DICTIONARY] name TO new_name [,...] [ON CLUSTER cluster]

RENAME DATABASE

重命名数据库。

语法

RENAME DATABASE atomic_database1 TO atomic_database2 [,...] [ON CLUSTER cluster]

RENAME TABLE

重命名一个或多个表。

重命名表是一项轻量级操作。如果在 TO 后传递了不同的数据库,则该表将被移动到此数据库。然而,数据库的目录必须位于同一文件系统中。否则,将返回错误。 如果在一个查询中重命名多个表,该操作不是原子性的。它可能会部分执行,并且其他会话中的查询可能会出现 Table ... does not exist ... 错误。

语法

RENAME TABLE [db1.]name1 TO [db2.]name2 [,...] [ON CLUSTER cluster]

示例

RENAME TABLE table_A TO table_A_bak, table_B TO table_B_bak;

您也可以使用更简单的 SQL:

RENAME table_A TO table_A_bak, table_B TO table_B_bak;

RENAME DICTIONARY

重命名一个或多个字典。此查询可用于在数据库之间移动字典。

语法

RENAME DICTIONARY [db0.]dict_A TO [db1.]dict_B [,...] [ON CLUSTER cluster]

另请参阅