不管是在网站开发还是在应用程序开发中,我们经常会碰到需要将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 TPerson ( UserId, DepId ) SELECT UserId,DepId FROM TUser WHERE 'Status' = 0;
类别三:如果您需要只导入目标表中不存在的记录,可以使用这种方法:
INSERT INTO 目标表  
 (字段1, 字段2, ...)  
 SELECT 字段1, 字段2, ...  
 FROM 来源表  
 WHERE not exists (select * from 目标表  
 where 目标表.比较字段 = 来源表.比较字段); 
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);
The End


大气响应式网络建站服务公司织梦模板
高端大气html5设计公司网站源码
织梦dede网页模板下载素材销售下载站平台(带会员中心带筛选)
财税代理公司注册代理记账网站织梦模板(带手机端)
成人高考自考在职研究生教育机构网站源码(带手机端)
高端HTML5响应式企业集团通用类网站织梦模板(自适应手机端)