将 csv 文件导入 MySQL table 的单列
Importing csv file into single column of a MySQL table
我用谷歌搜索了很多次,但没有找到与我的问题相符的内容。
我有很多时间序列,包含不同的传感器读数。每个时间序列都存储在一个 .csv 文件中,因此每个文件都包含一个列。
我必须填充这个 MySQL table:
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
table 是:
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 查询,在其中填充此 table,同时从 .csv 文件读取值。
我不知道如何继续:我应该使用某种临时 table 作为缓冲区吗?
我使用 HeidiSQL 作为客户。
您要找的那种工具称为 ETL(提取、转换、加载)。
您可以从 csv 文件(以及其他)中提取数据,通过添加来自传感器 db-table(以及其他)的信息从中进行转换,并将其加载到 sensor_reading db- table。
市场上有大量的 ETL。虽然,我应该是不可知论者,一个免费的、易学的并且涵盖你未来所有需求的,你可能会开始评估 PDI(Pentaho Data Integrator,绰号 Kettle)。去there, download the latest Data Integrator, unzip and press the spoon.bat / spoon.sh. A nice getting started is there。并且 Whosebug 标志 Pentaho Data Integration
,响应通常很快。
或者您可以尝试 Talend or plenty others。
我用谷歌搜索了很多次,但没有找到与我的问题相符的内容。
我有很多时间序列,包含不同的传感器读数。每个时间序列都存储在一个 .csv 文件中,因此每个文件都包含一个列。
我必须填充这个 MySQL table:
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
table 是:
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 查询,在其中填充此 table,同时从 .csv 文件读取值。 我不知道如何继续:我应该使用某种临时 table 作为缓冲区吗?
我使用 HeidiSQL 作为客户。
您要找的那种工具称为 ETL(提取、转换、加载)。
您可以从 csv 文件(以及其他)中提取数据,通过添加来自传感器 db-table(以及其他)的信息从中进行转换,并将其加载到 sensor_reading db- table。
市场上有大量的 ETL。虽然,我应该是不可知论者,一个免费的、易学的并且涵盖你未来所有需求的,你可能会开始评估 PDI(Pentaho Data Integrator,绰号 Kettle)。去there, download the latest Data Integrator, unzip and press the spoon.bat / spoon.sh. A nice getting started is there。并且 Whosebug 标志 Pentaho Data Integration
,响应通常很快。
或者您可以尝试 Talend or plenty others。