如果SQL数据库中还没有很多记录,请将它们添加到SQL数据库中

2024-10-01 04:44:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个SQL DB(Postgree),表中有大约2000000条记录。我有一个大约500000行的CSV文件。我需要检查CSV中的所有记录,如果它们以前不存在,则将它们添加到DB中。我应该按name字段检查它们

我的问题是,最快的方法是什么

谢谢


Tags: 文件csv方法namedbsql记录postgree
1条回答
网友
1楼 · 发布于 2024-10-01 04:44:23
  1. 将新行加载到暂存表中
  2. name列上为暂存表和目标表编制索引
  3. 编写如下查询:

    INSERT INTO target (column list) SELECT column list FROM source LEFT JOIN target ON target.name = source.name WHERE target.name IS NULL

INSERT INTO target (<column list>)
SELECT <column list> FROM source
WHERE NOT EXISTS (
    SELECT * from target 
    WHERE target.name = source.name
)

相关问题 更多 >