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



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

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"

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

我不想通过解析每一行和每个字段来使用多个插入,因为这会大大减慢该过程。

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

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=', '');
首先在变量

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

在此处阅读更多相关信息。

最新更新