何时 CREATE TABLE AS SELECT 与 CREATE TABLE LIKE?

Cra*_*lus 3 mysql sql database select create-table

我可以使用以下命令“复制”表格:
CREATE TABLE copy LIKE original_table

CREATE TABLE copy as select * from original_table

在后一种情况下,仅复制数据,但不复制主键等。
所以我想知道什么时候我更喜欢使用select as

Gor*_*off 5

这些做不同的事情。 CREATE TABLE LIKE创建一个与原始表结构相同的空表。

CREATE TABLE AS SELECT将数据插入到新表中。结果表不为空。此外,CREATE TABLE AS SELECT通常与更复杂的查询一起使用,以生成临时表。在这种情况下没有“原始”表。查询的结果仅被捕获为表。

编辑:

进行备份的“标准”方法是使用 . 。。。backup在数据库级别。这将备份数据库中的所有对象。备份多个表很重要,例如,对于维护对象之间的关系完整性。

如果您只想要表格的真实副本,请先执行 a create table like,然后执行insert into。然而,这可能会给字段带来挑战auto_increment。您可能希望将该auto_increment属性拖放到列上,以便可以填充此类列。