格式

    1. RENAME TABLE tblname TO newtblname
    2. [, tb1name2 TO newtblname …];

    RENAME TABLE语句用于对一个或多个表进行重命名 。

    重命名操作自动进行,重命名正在进行时,其他线程不能读取任何表。例如,如果您有一个原有的表oldtable,您可以创建另一个具有相同结果的空表newtable,然后用此空表替换原有的表:

    1. CREATE TABLE newtable(…);
    2. RENAME TABLE oldtable TO backuptable, newtable TO oldtable;

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

    1. RENAME TABLE oldtable TO tmptable,
    2. newtable TO oldtable,
    3. tmptable TO newtable

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

    1. RENANME TABLE currentdb.tblname TO otherdb.tblname

    当您执行RENAME时,您不能有被锁定的表,也不能有处于活性状态的事务。还必须拥有原表的ALTER和DROP权限,以及新表的 CREATE和INSERT权限。

    RENAME TABLE也可以用于视图,只要确保是在同一个数据库中。