格式
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,
tmptable TO newtable
同一个租户下,可以对数据库中的表进行重命名,把表从一个数据库中移动到另一个数据库中:
RENANME TABLE currentdb.tblname TO otherdb.tblname
当您执行RENAME时,您不能有被锁定的表,也不能有处于活性状态的事务。还必须拥有原表的ALTER和DROP权限,以及新表的 CREATE和INSERT权限。
RENAME TABLE也可以用于视图,只要确保是在同一个数据库中。