跳转到主要内容
用于重命名数据库、表或字典。单个查询中可以重命名多个实体。 请注意,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]
另请参见
最后修改于 2026年6月10日