'alter table rename'和'rename table'之间有什么区别?

时间:2013-09-24 18:02:13

标签: mysql alter-table table-rename

我正在使用MySQL。这是一个例子,我想将表A重命名为B,所以以下语句之间的区别是什么:

alter table A rename to B;

和这一个:

rename table A to B;

任何人都可以在它们之间进行详细比较吗?它是根据不同的发动机而变化的吗?

1 个答案:

答案 0 :(得分:3)

正如ALTER TABLE Syntax所述:

  

对于没有任何其他选项的 ALTER TABLE tbl_name RENAME TO new_tbl_name ,MySQL只会重命名与表 tbl_name 对应的所有文件没有复制。 (您也可以使用RENAME TABLE语句重命名表。请参阅Section 13.1.32, “RENAME TABLE Syntax”。)专门为重命名的表授予的任何权限都不会迁移到新名称。必须手动更改它们。

正如RENAME TABLE Syntax所述:

  与ALTER TABLE不同,

RENAME TABLE可以在一个语句中重命名多个表:

RENAME TABLE old_table1 TO new_table1,
             old_table2 TO new_table2,
             old_table3 TO new_table3;
     

[ deletia ]

     

RENAME TABLE不适用于TEMPORARY个表格。但是,您可以使用ALTER TABLE重命名临时表。

     

RENAME TABLE适用于视图,但视图无法重命名为其他数据库。

没有其他差异。