mysql 从一个表中查数据并插入另一个表实现方法

mysql 从一个表中查数据并插入另一个表实现方法

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

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


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

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

INSERT INTO newArticles SELECT * FROM articles ;

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

INSERT INTO TPerson ( UserId, DepId ) SELECT UserId,DepId FROM TUser WHERE Status = 0;

类别三:如果您需要只导入目标表中不存在的记录,可以使用这种方法:

1>.插入多条记录:

insert into t_users (userid) select userid from t_game_record where( not exists (select userid from t_users where t_game_record.userid=t_users.userid))

2>.插入一条记录:

insert into insertTest (id, name) SELECT 100, liudehua FROM dual WHERE not exists (select * from insertTest where insertTest.id = 100);
经验分享 程序员 微信小程序 职场和发展