将.CSV导入MySQL DB

时间:2013-11-14 17:16:36

标签: php mysql csv

我有一个脚本,用于将.CSV数据导入MySQL数据库。当我进入MySQL时,第一个数据字段(电子邮件地址)仍然有引号。其他字段,引号被删除。

我的CSV行看起来像这样:

“email4@email.com”,“Karla”,“史密斯”

“email5@email.com”,“Carl”,“Nichols”

电子邮件地址在MySQL中仍然有引号。名字和姓氏都很好。

有什么建议吗?

<?php 

$conn = mysql_connect('host','username','password'); 

mysql_select_db('db-name'); 

mysql_query("TRUNCATE TABLE contacts") or die(mysql_error()); 

mysql_query("LOAD DATA LOCAL INFILE 'New Member Weekly Report for Marketing.csv' 
INTO TABLE contacts 
Fields terminated by ',' ENCLOSED BY '\"' 
LINES terminated by '\r'( 
contact_email 
,contact_first 
,contact_last)") 

or die("Import Error: " . mysql_error()); 
?>

1 个答案:

答案 0 :(得分:0)

稍微用谷歌搜索,我发现了这个:

您可以直接将MYSQL链接到它并使用以下SQL语法上传信息,而不是编写脚本以从CSV文件中提取信息。

要将Excel文件导入MySQL,请先将其导出为CSV文件。从生成的CSV文件中删除CSV标题以及Excel可能放在CSV文件末尾的空数据。 然后,您可以通过运行以下命令将其导入MySQL表:

load data local infile 'uniq.csv' into table tblUniq fields terminated by ','
enclosed by '"'
lines terminated by '\n'
(uniqName, uniqCity, uniqComments)

这里的字段是数据需要放在的实际tblUniq表字段。封闭的和和终止的行是可选的,如果你的列用双引号括起来可以帮助,例如Excel导出等。

来源:http://www.tech-recipes.com/rx/2345/import_csv_file_directly_into_mysql/