将数据从Excel导入/更新到SQL Server

时间:2013-01-09 17:53:53

标签: sql sql-server excel sql-server-2012-express

我正在将数据库从Excel转换为MS SQL服务器,我基本上一无所知。

Excel文件的列标题为 GroupID,名称,成员,备注

SQL表具有相同的字段。

当我更新SQL时,某些记录是全新的,因此需要附加,其他需要更新一列或两列,而大多数记录根本不需要任何记录。到目前为止,我已经采取了懒惰的方式&截断文件&重新插入所有内容,但正确方式是什么?

1 个答案:

答案 0 :(得分:5)

将文件作为单独的表导入,您可以从那里执行所有更新。根据您的SQL Server版本,您可以使用MERGE语句。敲定插入和更新声明不应该花太长时间。

更新的内容如下:

UPDATE o
SET    name = i.name
FROM   originaltablename o
       INNER JOIN importedexceltablename i
           ON o.GroupID = i.GroupID
WHERE  o.name <> i.name

这样的插入内容:

INSERT INTO originaltablename
SELECT i.*
FROM   importedexceltablename i
       LEFT JOIN originaltablename o
           ON o.GroupID = i.GroupID
WHERE  o.GroupID IS NULL

但要小心,这只是一个让你前进的例子,因为你没有提供足够的信息来找到合适的解决方案。