MySQL批量值插入

MySQL批量值插入,sql,mysql,Sql,Mysql,我有一大堆电子邮件,每封都用逗号(,)隔开(不是csv)。我想将它们上传到一个数据库表(带有单字段电子邮件),这样每个电子邮件都会进入单独的记录条目。最简单的方法是什么?我有一个想法,使用grep用我的sql语法替换逗号。。但是正在寻找其他的解决办法。。有什么想法吗?我会使用诸如sed或awk之类的shell工具将输入格式转换为可以处理的格式。MySQL支持在一个语句中进行多个插入 INSERT INTO [Table] ([col1], [col2], ... [colN] ) VALUES

我有一大堆电子邮件,每封都用逗号(,)隔开(不是csv)。我想将它们上传到一个数据库表(带有单字段电子邮件),这样每个电子邮件都会进入单独的记录条目。最简单的方法是什么?我有一个想法,使用grep用我的sql语法替换逗号。。但是正在寻找其他的解决办法。。有什么想法吗?

我会使用诸如sed或awk之类的shell工具将输入格式转换为可以处理的格式。

MySQL支持在一个语句中进行多个插入

INSERT INTO [Table] ([col1], [col2], ... [colN] )
VALUES ([value1], [value2], ... [valueN] )
     , ([value1], [value2], ... [valueN] )
     , ([value1], [value2], ... [valueN] )
;

您可以很快将逗号分隔的文件格式化为这种格式。

可能类似于:

LOAD DATA INFILE '/where/the/file/is'
INTO TABLE table (email)
FIELDS TERMINATED BY ','
LINES STARTING BY '';

此处的语法文档:

将当前的“,”分隔的电子邮件列表转换为每个电子邮件列表一行

tr',''\n'outputfilename

登录mysql后使用load data infile,确保表中只有一列

将数据填充“outputfilename”加载到表tablename中