MySQL 使用字段前缀标准加载数据文件

MySQL load data infile with a field-prefix criterion

我有一个包含以下内容的文本文件(我只显示了前几行来说明)。它们是键值对的形式。

FIELD_A="Peter Kibbon",FIELD_B=31,FIELD_C="SCIENCE"
FIELD_A="James Gray",FIELD_B=28,FIELD_C="ARTS"
FIELD_A="Michelle Fernado",FIELD_B=25,FIELD_C="SCIENCE"

我想使用 LOAD DATA FILE 语法将这些数据导入到 MySQL 数据库中以加快该过程。有什么方法可以指定字段前缀之类的内容,以便它可以读取每个字段的 "value" 部分。

我不想通过解析每一行和每一字段来使用 MULTIPLE 插入,因为这会大大减慢处理速度。

如果您知道所有字段都将在每一行上指定,并且它们总是以相同的顺序排列,您可以这样做:

LOAD DATA INFILE 'your_file'
INTO TABLE table_name
FIELDS TERMINATED BY ','
(@col1_variable, @col2_variable, @col3_variable)
SET column1 = REPLACE(@col1_variable, 'FIELD_A=', ''),
column2 = REPLACE(@col2_variable, 'FIELD_B=', ''),
column3 = REPLACE(@col3_variable, 'FIELD_C=', '');

您首先将文件的内容加载到变量中,然后对这些变量进行操作并将结果分配给您的列。

了解更多信息 here