问题:'alter table rename' 和 'rename table' 有什么区别?

我正在使用 MySQL。这是一个示例,我想将表 A 重命名为 B,那么以下语句有什么区别:

alter table A rename to B;

和这个:

rename table A to B;

谁能给他们详细的比较一下?是否因不同的引擎而异?

解答

ALTER TABLE语法中所述:

对于 ALTER TABLE _tbl_name_ RENAME TO _new_tbl_name_ 没有任何其他选项,MySQL 只是重命名与表 tbl_name 对应的任何文件而不制作副本。 (您也可以使用RENAME TABLE语句重命名表。参见第 13.1.32 节,“RENAME TABLE语法”。)任何专门为重命名表授予的权限都不会迁移到新名称。它们必须手动更改。

RENAME TABLE语法中所述:

RENAME TABLEALTER TABLE不同,可以在单个语句中重命名多个表:

将表 old_table1 重命名为 new_table1,

old_table2 到 new_table2,

旧表 3 到新表 3;

[ **_deletia_** ]

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

RENAME TABLE适用于视图,但视图不能重命名到不同的数据库中。

没有其他区别。

Logo

华为、百度、京东云现已入驻,来创建你的专属开发者社区吧!

更多推荐