【问题标题】:Insert values from CSV file into DATABASE column according to unique ID根据唯一 ID 将 CSV 文件中的值插入 DATABASE 列
【发布时间】:2021-10-18 21:14:45
【问题描述】:

我有一个CSV 文件,例如: file.csv

id,firstName
1234,john
2222,jane
4567,jim

我的数据库中有一个表'People',例如:

| id       | lastName       |
| -------- | -------------- |
| 1234     | doe            |
| 4567     | smith          |
| 2222     | doe            |

我想在表中添加一个新列 'firstName',并使用 CSV 文件中的值和唯一的 id 编号,

| id       | lastName       | firstName     |
| -------- | -------------- | --------------
| 1234     | doe            | john          |   
| 4567     | smith          | jim           |   
| 2222     | doe            | jane          |   

有什么方法可以实现吗?

谢谢!

【问题讨论】:

    标签: mysql sql csv


    【解决方案1】:

    将 CSV 文件加载到临时表中,然后将其合并到 People 表中。

    CREATE TEMPORARY TABLE firstNames (
        id INT PRIMARY KEY,
        firstName VARCHAR(100)
    );
    
    LOAD TABLE INFILE "file.csv"
    INSERT INTO firstNames;
    
    ALTER TABLE People ADD COLUMN firstName VARCHAR(100) DEFAULT '' NOT NULL;
    
    UPDATE People AS p
    JOIN firstNames AS f ON p.id = f.id
    SET p.firstName = f.firstName;
    

    【讨论】:

      猜你喜欢
      • 2021-02-28
      • 2012-04-17
      • 1970-01-01
      • 2020-04-15
      • 2013-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-10
      相关资源
      最近更新 更多