MySQL批量值插入

时间:2010-09-07 16:35:53

标签: sql mysql

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

4 个答案:

答案 0 :(得分:2)

也许是这样的:

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

语法文档:http://dev.mysql.com/doc/refman/5.1/en/load-data.html

答案 1 :(得分:1)

我使用sed或awk等shell工具将输入格式转换为mysqlimport可以处理的内容。

答案 2 :(得分:1)

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

tr',''\ n'< inputfilename> outputfilename

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

将数据infile'outputfilename'加载到表tablename;

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

答案 3 :(得分:0)

MySQL在单个语句中支持多个插入

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

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