mysql 如何把查询到的结果插入到另一个表中

不管是在网站开发还是在应用程序开发中,我们经常会碰到需要将 MySQL 或 MS SQLServer 某个表的数据批量导入到另一个表的情况,甚至有时还需要指定导入字段。

本文就将以 MySQL 数据库为例,介绍如何通过 SQL 命令行将某个表的所有数据或指定字段的数据,导入到目标表 中。此方法对于 SQLServer 数据库,也就是 T-SQL 来说,同样适用 。

类别一、 如果两张张表(导出表和目标表)的字段一致,并且希望插入全部数据,可以用这种方法:

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

例如,要将 articles 表插入到 newArticles 表中,则可以通过如下 SQL 语句实现:

INSERT INTO  newArticles  SELECT  * FROM  articles ;

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

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

请注意以上两表的字段必须一致,否则会出现数据转换错误。

 insert into jsh_app
 (Number, Name, Type, Icon, URL, Width, Height, ReSize, OpenMax,
 Flash, ZL, Sort, Remark, Enabled,delete_Flag, tenant_id)
 select Number, Name, Type, Icon, URL, Width, Height, ReSize, OpenMax, 
Flash, ZL, Sort, Remark, Enabled,delete_Flag, tenantId 
from jsh_app where id=@n;