2010-09-07 113 views
2

我有一堆电子邮件,每个邮件都以逗号(,)(而不是csv)分隔。我想将它们上传到数据库表(使用单个字段的电子邮件),以便每封电子邮件进入单独的记录条目。什么可能是最简单的方法呢?我有一个使用grep来替换逗号与我的SQL语法的想法..但寻找任何其他解决方法..任何想法?MySQL批量值插入

回答

1

我会使用像sed或awk这样的shell工具将输入格式转换为mysqlimport可以处理的东西。

0

MySQL支持在一个单一的statment

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

你可以很快格式化逗号分隔的文件转换成这种格式多个插入。

1

转换当前 '' 分隔的电子邮件列表,每封邮件列表

TR ''“一个行\ n'< inputfilename>输出文件名

登录到mysql后使用load data infile,确保你的表只有一列在这种情况下,

将数据输入'outputfilename'加载到表tablename中;

http://dev.mysql.com/doc/refman/5.1/en/load-data.html