sql—将csv文件导入mysql表的单列

gzszwxb4  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(396)

我在谷歌上搜索了很多,但没有发现任何与我的问题相匹配的东西。
我有很多时间序列,包含不同的传感器读数。每个时间序列都存储在一个.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;

现在,我应该填补 reading_value 包含在上述.csv文件中的值的字段。此类文件的一个示例:

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作为客户机。

kulphzqa

kulphzqa1#

您需要的工具称为etl(extract、transform、load)。
您可以从csv文件(以及其他文件)中提取数据,通过从sensor db表(以及其他文件)中添加信息来转换数据,并将其加载到sensor\u reading db表中。
市场上有很多etl。虽然,我应该是不可知论者,一个免费的,易于学习的,并涵盖所有您未来的需要,您可以开始评估pdi(pentaho数据集成商,昵称水壶)。去那里,下载最新的数据集成器,解压缩并按spoon.bat/spoon.sh。有一个很好的开始。以及stackoverflow标志 Pentaho Data Integration ,通常React很快。
或者你可以尝试泰伦德或其他很多。

相关问题