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

时间:2015-02-01 12:17:23

标签: mysql bulkinsert

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

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数据库中导入这些数据,以加快进程。有没有什么方法可以指定像字段前缀这样的东西,以便它可以读取每个字段的“值”部分。

我不想通过解析每一行和每个字段来使用MULTIPLE插入,因为这会使进程相当慢。

1 个答案:

答案 0 :(得分:1)

如果您知道将在每一行上指定所有字段并且它们始终处于相同的顺序,您可以执行以下操作:

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