我正在使用MySQL。这是一个例子,我想将表A重命名为B,所以以下语句之间的区别是什么:
alter table A rename to B;
和这一个:
rename table A to B;
任何人都可以在它们之间进行详细比较吗?它是根据不同的发动机而变化的吗?
答案 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
适用于视图,但视图无法重命名为其他数据库。
没有其他差异。