如何通过 CSV 为某些列更新数据库

Posted

技术标签:

【中文标题】如何通过 CSV 为某些列更新数据库【英文标题】:How to update database through CSV for some columns 【发布时间】:2022-01-19 14:57:34 【问题描述】:

我有一个表,其中有 id、link_name、browser_title、title、content 等列。

其中包含相关信息 现在我有文件 CSV,其中包含一些链接的新标题和 browser_title 值 _names( CSV 看起来像 -- link_name, title, browser_title) 现在我必须更新 title 和 browser_title 的值。

任何人都可以建议什么应该是这样做的好方法

【问题讨论】:

首先你用COPY将csv数据导入到一个临时表中,然后你从临时表中UPDATE你的表。 【参考方案1】:

试试这个代码。使用 BufferedReader 读取文件并循环每一行然后每一列。

String path = "file.csv";
String line = "";
String splitBy = ",";
try 
    // parsing a CSV file into BufferedReader
    BufferedReader br = new BufferedReader(new FileReader(path));
    // read file line by line
    while ((line = br.readLine()) != null) // returns a Boolean value
    
        // spilt column values by comma
        String[] row = line.split(splitBy); // use comma as separator
        // print every column value
        for (int i = 0; i < row.length; i++)
            System.out.println(row[i]);
    
 catch (IOException e) 
    e.printStackTrace();

我在这个网站上做了一点修改:https://www.javatpoint.com/how-to-read-csv-file-in-java

【讨论】:

以上是关于如何通过 CSV 为某些列更新数据库的主要内容,如果未能解决你的问题,请参考以下文章

PySpark 更新某些列的值

从 CSV 更新列

我如何使用条件从其他表中更新表中的数据

如何从 csv 读取列并运行更新查询?

当 csv 文件被额外的列扩展时更新数据模型

无法将 CSV 文件更新为 BQR