MySQL 批量加载
Posted
技术标签:
【中文标题】MySQL 批量加载【英文标题】:MySQL bulk load 【发布时间】:2019-02-22 06:56:20 【问题描述】:我正在尝试将 csv 文件加载到 mysql 表中。 分隔符:,(逗号)
作为源数据的一部分,很少有字段值用双引号括起来,在我们的双引号内, / 是字段数据的一部分的记录很少,我们需要对其进行转义。
默认情况下 / 被转义,当我指定“作为转义字符”时被转义。由于我们在同一个文件中有多个特殊字符,我们需要对多个特殊字符进行转义。
任何建议
例如:
id name location
1 A "Location , name here"
2 B "Different Location"
3 C Another Location
4 D Location / with escape character
LOAD DATA LOCAL INFILE 'data.csv' INTO TABLE table_name FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 LINES;
【问题讨论】:
【参考方案1】:我认为这是不可能的。参考LOAD DATA reference
任何字段或行处理选项都可以指定一个空字符串 ('')。如果不为空,FIELDS [OPTIONALLY] ENCLOSED BY 和 FIELDS ESCAPED BY 值必须是单个字符。
ESCAPED BY 字段仅支持单个字符。 我的建议是使用任何编程语言(例如 php、C# 等)使用正则表达式逐行打开和处理文件
【讨论】:
以上是关于MySQL 批量加载的主要内容,如果未能解决你的问题,请参考以下文章