协慌网

登录 贡献 社区

复制 MySQL 表,索引和数据

如何将 MySQL 表的数据,结构和索引复制或克隆或复制到新表?

这是我到目前为止发现的。

这将复制数据和结构,但不复制索引:

create table {new_table} select * from {old_table};

这将复制结构和索引,但不复制数据:

create table {new_table} like {old_table};

答案

要使用索引和触发器进行复制,请执行以下两个查询:

CREATE TABLE newtable LIKE oldtable; 
INSERT INTO newtable SELECT * FROM oldtable;

要仅复制结构和数据,请使用以下代码:

CREATE TABLE tbl_new AS SELECT * FROM tbl_old;

我之前曾问过这个问题:

复制一个包含索引的 MySQL 表

除了上述解决方案之外,您还可以使用AS使其成为一行。

CREATE TABLE tbl_new AS SELECT * FROM tbl_old;

MySQL 方式:

CREATE TABLE recipes_new LIKE production.recipes;
INSERT recipes_new SELECT * FROM production.recipes;