从Excel中插入超过1000行到SQLServer

use*_*217 10 sql sql-server insert sql-server-2008

我是Sql的新手,但是从excel文档中插入1000多行到我的数据库(Sql server 2008)的最佳方法是什么.

例如,我使用以下查询:

   INSERT INTO mytable(companyid, category, sub, catalogueref)
   VALUES
   ('10197', 'cat', 'sub', '123'),
   ('10197', 'cat2', 'sub2', '124')
Run Code Online (Sandbox Code Playgroud)

这工作正常,但插入1000条记录的限制,我有19000条记录,我真的不想做19个单独的插入语句和另一个问题,是公司ID总是一样的是有更好的方法然后写它19000次?

小智 18

只需编辑Excel或其他程序中的数据,即可为每个语句创建N个插入语句,并且只有一个插入,您将拥有无限数量的插入.例如...

INSERT INTO table1 VALUES   (6696480,'McMurdo Station',-77.846,166.676,'Antarctica','McMurdo')
INSERT INTO table1  VALUES  (3833367,'Ushuaia',-54.8,-68.3,'America','Argentina')
...19,000 later
INSERT INTO table1 VALUES   (3838854,'Rio Grande',-53.78769,-67.70946,'America','Argentina')
Run Code Online (Sandbox Code Playgroud)

  • 事实证明,将"INSERT"语句拆分为1000个值元组的批次要快得多.谢谢你引起我的注意. (2认同)

Eri*_*pie 5

Microsoft提供了一个带有SQL Server 的导入向导.我用它来从其他数据库和电子表格迁移数据.它非常强大且易于使用.