上传csv文件的有效方法

时间:2012-03-14 19:34:37

标签: php mysql csv

我将csv文件内容上传到mysql数据库。 我不确定哪种方法最好&高效的好的。

1]使用LOAD DATA INFILE SQL语句

LOAD DATA LOCAL INFILE '/importfile.csv'
INTO TABLE test_table
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
(field1, filed2, field3); 

2]使用脚本解析并导入文件   例如php中的fgetcsv()函数

4 个答案:

答案 0 :(得分:3)

如果您可以确定cvs的内容,请使用方法1.

但是如果您不确定您可能希望脚本对文件内容进行一些完整性检查。在这种情况下使用方法2。

答案 1 :(得分:2)

直接加载到数据库可能比使用脚本更有效 - 您没有运行脚本,读取/解析,汇总查询等的开销。您只需移动数据。

如果您需要每天手动执行100次,那么您将需要更自动化的内容,例如脚本。然后你需要考虑你的个人效率和努力程度。

答案 2 :(得分:1)

仅使用LOAD DATA INFILE SQL的原因是您在哪里处理某些数据。例如,如果必须在插入之前转换或连接数据。但如果它直接导入,这是迄今为止最快的。

答案 3 :(得分:1)

我个人更喜欢LOAD DATA INFILE,因为以脚本方式加载通常会使用多个insert语句。如果您需要修改CSV,那么从脚本开始就会容易得多,但根据我的经验LOAD DATA INFILE会更快。