簡體   English   中英

將CSV文件導入到MySQL表的單列中

[英]Importing csv file into single column of a MySQL table

我已經在Google上搜索了很多,但沒有發現任何與我的問題匹配的東西。

我有很多時間序列,其中包含不同的傳感器讀數。 每個時間序列都存儲在一個.csv文件中,因此每個文件都包含一個列。

我必須填充此MySQL表:

CREATE TABLE scheme.sensor_readings (
    id int unsigned not null auto_increment,
    sensor_id int unsigned not null,
    date_created datetime,
    reading_value double,
    PRIMARY KEY(id),
    FOREIGN KEY (sensor_id) REFERENCES scheme.sensors (id) ON DELETE CASCADE
) ENGINE = InnoDB;

sensors表是:

CREATE TABLE scheme.sensors ( 
    id int unsigned not null auto_increment,
    sensor_title varchar(255) not null,
    description varchar(255) not null,
    date_created datetime,
    PRIMARY KEY(id)
) ENGINE = InnoDB;

現在,我應該用上面描述的.csv文件中包含的值填充reading_value字段。 此類文件的示例:

START INFO  
Recording Time  *timestamp*
Oil Pressure    dt: 1,000000 sec
STOP INFO   
0,445328    
0,429459    
0,4245  
0,445099    
0,432434    
0,433426    
...
EOF

我需要設計一個SQL查詢,在其中從.csv文件讀取值的同時填充此表。 我無法弄清楚如何進行:我應該使用某種臨時表作為緩沖區嗎?

我使用HeidiSQL作為客戶端。

您要尋找的這種工具稱為ETL (提取,轉換,加載)。

您可以從csv文件中提取數據(除其他外),通過添加來自傳感器db-table的信息(除其他外)將它們轉換,然后將其加載到sensor_reading db-table中。

市場上有大量的ETL。 盡管我是一個不可知論的,免費的,易於學習的人,並且可以滿足您將來的所有需求,但是您可以開始評估PDI(Pentaho Data Integrator,綽號為Kettle)。 轉到此處 ,下載最新的Data Integrator,解壓縮並按spoon.bat / spoon.sh。 一個很好的入門在那里 而StackOverFlow標志Pentaho Data Integration響應通常很快。

或者,您可以嘗試Talend其他許多產品

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM