当前位置:

MySQL批量导入数据的实现

MySQL批量导入数据操作应该如何实现呢?这是很多人都提到过的问题,下面就为您介绍MySQL批量导入数据的实现方法,供您参考。

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

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

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

INSERT INTO
 目标表
 SELECT    * FROM
 来源表
;
例如,要将 articles 表插入到 newArticles 表中,则可以通过如下SQL语句实现:

INSERT INTO
 newArticles
 SELECT    * FROM
 articles
;
类别二、 如果只希望导入指定字段,可以用这种方法:

INSERT INTO
 目标表 (字段1, 字段2, ...)
 SELECT
  字段1, 字段2, ...
  FROM
 来源表
;
请注意以上两表的字段必须一致(字段类型),否则会出现数据转换错误。

1、跨服务器复制表中数据

  1. insert into openrowset('sqloledb','localhost';'sa';'123',Test.dbo.Table_B)   
  2. select * from Test.dbo.Table_A   
  3.  
  4. //启用Ad Hoc Distributed Queries:  
  5.  
  6. exec sp_configure 'show advanced options',1  
  7. reconfigure  
  8. exec sp_configure 'Ad Hoc Distributed Queries',1  
  9. reconfigure  
  10.  
  11. //使用完成后,关闭Ad Hoc Distributed Queries:  
  12. exec sp_configure 'Ad Hoc Distributed Queries',0  
  13. reconfigure  
  14. exec sp_configure 'show advanced options',0  
  15. reconfigure  
  16.  

2、

  1. //不跨服务器  
  2. insert into dbo.Table_B) select * from dbo.Table_A   

将表名和数据库连接字符串用代码拼接好 然后执行上述您需要的sql语句 程序功能即可完成。
 

评论:

登录后发表评论
2023.01.28 群组聊天