mysql中把一个表的数据批量导入另一个表中
不管是在网站开发还是在应用程序开发中,我们经常会碰到需要将MySQL某个表的数据批量导入到另一个表的情况,甚至有时还需要指定导入字段。
本文就将以MySQL数据库为例,介绍如何通过SQL命令行将某个表的所有数据或指定字段的数据,导入到目标表 中。
类别一、 如果两张张表(导出表和目标表)的字段一致,并且希望插入全部数据,可以用这种方法:(此方法只适合导出两表在同一database)
INSERT INTO 目标表 SELECT * FROM 来源表;
例如,要将 articles 表插入到 newArticles 表中,则可以通过如下SQL语句实现:
INSERT INTO newArticles SELECT * FROM articles;
类别二、 如果只希望导入指定字段,可以用这种方法:
INSERT INTO 目标表 (字段1, 字段2, ...) SELECT 字段1, 字段2, ... FROM 来源表;
请注意以上两表的字段必须一致(字段类型),否则会出现数据转换错误。
类别三 除了导入指定字段外,还希望导入一些可变量,不变量:例如:内容copy迁移,把指定栏目表caterel下的A栏目下的文章copy到B栏目一份
INSERT INTO caterel (caterel字段) select B栏目字段,固定值(B栏目ID),now() from caterel where 栏目ID=A栏目id