【问题标题】:in mysql database,how to upload the modified data from csv file在mysql数据库中,如何从csv文件上传修改后的数据
【发布时间】:2011-07-07 15:53:01
【问题描述】:

最初,我创建了一个名为“sample”的数据库,并从大量 CSV 文件中更新了数据。

每当我在 .csv 文件中有小的更改(一些数据被添加/删除/修改)时,我也必须在数据库中更新它。总是更新整个 .csv 文件(大)效率不高。

有没有什么有效的方法将修改后的数据从.csv文件更新到数据库?

【问题讨论】:

  • 使用以下查询“LOAD DATA INFILE 'data.csv' INTO TABLE sample;”
  • 这是唯一可用的功能——我不想手动编写类似的功能,它已经过优化。有多少数据在变化?因为我会查看特定表的脚本而不是全面刷新(如果不是来自 mysqldump)。
  • 我们不能说有多少数据被改变了......有时我们可以得到更多的改变,有时我们可以在某些领域得到最小的费用。
  • 您需要让正在更新数据的人在数据库中进行更新,而不是在外部进行。否则,请将 CSV 文件拆分为多个较小的文件。

标签: mysql sql csv data-migration load-data-infile


【解决方案1】:

假设您使用 LOAD DATE INFILE 从 CSV 导入,请尝试使用以下语法:

LOAD DATA INFILE 'file_name'
IGNORE
INTO TABLE `tbl_name`
...
...

IGNORE 关键字将跳过 CSV 中与表中任何现有行重复的任何行,从而导致与唯一键发生冲突。阅读更多here。

这将比再次导入完整的 CSV 更快、更有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-09
    • 2012-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-30
    相关资源
    最近更新 更多