GaussDB-RENAME TABLE
功能描述
同一条语句中,修改单个表或多个表的名称,对名称的修改不会影响所存储的数据。
注意事项
- 当对单个表修改表名称时,与ALTER TABLE中RENAME语法等价。
- 当对多个表修改表名称时,与同时执行多次ALTER TABLE中RENAME语法等价;但不支持多组表中,同时存在本地临时表和非本地临时表修改表名称场景。
语法格式
修改表的名称。
| ``` RENAME { TABLE | TABLES } table_name TO new_table_name [, table_name2 TO new_table_name2, ...];
| -------------------------------------------------------------------------------------------------------- |

在MYSQL模式库中的5.7版本下(即sql_compatibility = 'MYSQL'、b_format_version='5.7'、b_format_dev_version='s2')执行该命令,会出现以下特殊现象:
- 新表名对应字符串以"#mysql50#"开始,且其后还有其他字符,"#mysql50#"将被忽略。
- 如果新旧表名一致,不会报错。
#### 参数说明
- **TABLE | TABLES**
TABLE和TABLES可以互相替换使用,与语句中操作表的个数无关。
- **table_name TO new_table_name [, table_name2 TO new_table_name2, ...]**
table_name、table_name2等为需要修改的表名。
new_table_name、new_table_name2等为修改后的新表名。
TO为中间连接词。
#### 修改表示例
- 单表修改名称
```
gaussdb=# CREATE TABLE aa(c1 int, c2 int);
gaussdb=# RENAME TABLE aa TO test_alt1;
gaussdb=# DROP TABLE test_alt1;
```
- 多个表修改名称
```
gaussdb=# CREATE TABLE aa(c1 int, c2 int);
gaussdb=# CREATE TABLE bb(c1 int, c2 int);
gaussdb=# RENAME TABLE aa TO test_alt1, bb TO test_alt2;
gaussdb=# DROP TABLE test_alt1,test_alt2;
```
#### 相关链接
[ALTER TABLE](https://doc.hcs.huawei.com/db/zh-cn/gaussdbqlh/24.1.30/devg-dist/gaussdb-12-0509.html#ZH-CN_TOPIC_0000001911585525)
更多详情请参考GaussDB 文档中心:<https://doc.hcs.huawei.com/db/zh-cn/gaussdbqlh/24.1.30/productdesc/qlh_03_0001.html>