MySQL 中将一个表的数据插入另外一个表的方法

开发中,我们经常需要将一个表的数据插入到另外一个表,有时还需要指定导入字段,虽然这个实现起来非常简单,但是还是会困扰许多新手,因此专门发一篇文章备查。

如果2张表的字段一致,并且希望插入全部数据,可以用这种方法:

 
INSERT INTO 目标表 SELECT  * FROM 来源表;

比如要将 articles 表插入到 newArticles 表中,则是:

 
INSERT INTO newArticles SELECT  * FROM articles;

如果只希望导入指定字段,可以用这种方法:

 
INSERT INTO 目标表 (字段1, 字段2, ...) SELECT  字段1, 字段2, ...  FROM 来源表;

注意字段的顺序必须一致。

如果您需要只导入目标表中不存在的记录,可以参考另外一篇文章

MySQL 当记录不存在时插入(insert if not exists)