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

Dei*_*ill 3 sql sql-server excel sql-server-2012-express

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

Excel文件的列标题为GroupID,Name,Members,Remarks

SQL表具有相同的字段.

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

two*_*rse 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
Run Code Online (Sandbox Code Playgroud)

对于插入这样的东西:

INSERT INTO originaltablename
SELECT i.*
FROM   importedexceltablename i
       LEFT JOIN originaltablename o
           ON o.GroupID = i.GroupID
WHERE  o.GroupID IS NULL
Run Code Online (Sandbox Code Playgroud)

但请注意,这只是一个让您前进的示例,因为您没有提供足够的信息来获得正确的解决方案.