Files
oceanbase/docs/docs-cn/10.sql-reference/5.sql-statement/48.rename-table.md
2022-02-10 14:51:49 +08:00

97 lines
1.7 KiB
Markdown

RENAME TABLE
=================================
描述
-----------
该语句用来对一个或多个表进行重命名。
格式
-----------
```javascript
RENAME TABLE tblname TO newtblname
[, tb1name2 TO newtblname ...];
```
参数解释
-------------
| **参数** | **描述** |
|---------------------------------------------------------------------------|------------------|
| tblname | 原表名。 |
| newtblname | 新表名。 |
| tblname TO newtblname \[, tb1name2 TO newtblname ...\]; | 多个表重命名时,使用","隔开。 |
注意事项
-------------
* 重命名操作自动进行,重命名正在进行时,其他线程不能读取任何表。
* 如果此语句用于对多个表进行重命名,则重命名操作从左到右进行。
* 当您执行 RENAME 时,您不能有被锁定的表,也不能有处于活性状态的事务。还必须拥有原表的 ALTER 和 DROP 权限,以及新表的 CREATE 和 INSERT 权限。
* RENAME TABLE 也可以用于视图,只要确保是在同一个数据库中。
示例
-----------
1. 创建表 t1 和 t2。
```javascript
create table t1(c1 int);
create table t2(c1 int);
```
2. 将表 t1 重命名为 t11。
```javascript
rename table t1 to t11;
```
3. 将表 t11 重命名为 t111,表 t2 重命名为 t22。
```javascript
rename table t11 to t111, t2 to t22;
```
4. 将表 t111 重命名为 t1111 后,再将表 t1111重命名为 t1。
```javascript
rename table t111 to t1111, t1111 to t1;
```