开发者社区> 问答> 正文

如何使用RENAME TABLE数据定义语言


格式 RENAME TABLE tblname TO newtblname
     [, tb1name2 TO newtblname …];


RENAME TABLE语句用于对一个或多个表进行重命名 。
重命名操作自动进行,重命名正在进行时,其他线程不能读取任何表。例如,如果您有一个原有的表oldtable,您可以创建另一个具有相同结果的空表newtable,然后用此空表替换原有的表: CREATE TABLE newtable(…);
RENAME TABLE oldtable TO backuptable, newtable TO oldtable;


如果此语句用于对多个表进行重命名,则重命名操作从左到右进行。
如果你想要交换两个表的名称,可以这样做(假设不存在表tmptable) RENAME TABLE oldtable TO tmptable,
newtable TO oldtable,
temptable TO newtable


同一个租户下,可以对数据库中的表进行重命名,把表从一个数据库中移动到另一个数据库中: RENANME TABLE currentdb.tblname TO otherdb.tblname

当您执行RENAME时,您不能有被锁定的表,也不能有处于活性状态的事务。还必须拥有原表的ALTER和DROP权限,以及新表的 CREATE和INSERT权限。
RENAME TABLE也可以用于视图,只要确保是在同一个数据库中。

展开
收起
云栖大讲堂 2017-11-01 15:43:04 2799 0
0 条回答
写回答
取消 提交回答
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Facebook Online Schema Change原理和大规模表结构变更最佳实践 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载