SQL:将数据从一个表添加到现有表

时间:2019-06-07 07:48:30

标签: mysql sql excel

我有一个SQL数据库,其中一个表缺少许多外部ID(而不是pk或fk)。 我已经为Excel文件中的每个缺失数据行选择了这些缺失ID。 如何将它们插入它们所属的数据中?

1 个答案:

答案 0 :(得分:0)

如果将数据从Excel文件加载到新表中,则可以使用基于联接的UPDATE语句来更新原始表中的那些行。

如何加载数据取决于您使用的是Microsoft SQL Server,mySQL,Oracle还是其他工具。如果Microsoft并且您已安装SQL Management Studio,则SQL Server导入和导出向导将是一个快速的解决方案。

基于联接的UPDATE语句如下所示:

update      tgt
set         tgt.externalID = src.externalID
from        originalTable tgt
inner join  myExternalFile src
on          tgt.ID = src.ID

originalTable是数据库中已经存在的表,而myExternalFile是包含刚刚从Excel文件中加载的数据的表。 ID是两个表中共有的字段(可能是主键)。

如果您使用的是Oracle,则使用联接的UPDATE语法是不同的,但以上内容在Microsoft和MySQL中均有效。