我将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()函数
答案 0 :(得分:3)
如果您可以确定cvs的内容,请使用方法1.
但是如果您不确定您可能希望脚本对文件内容进行一些完整性检查。在这种情况下使用方法2。
答案 1 :(得分:2)
直接加载到数据库可能比使用脚本更有效 - 您没有运行脚本,读取/解析,汇总查询等的开销。您只需移动数据。
如果您需要每天手动执行100次,那么您将需要更自动化的内容,例如脚本。然后你需要考虑你的个人效率和努力程度。
答案 2 :(得分:1)
仅使用LOAD DATA INFILE SQL的原因是您在哪里处理某些数据。例如,如果必须在插入之前转换或连接数据。但如果它直接导入,这是迄今为止最快的。
答案 3 :(得分:1)
我个人更喜欢LOAD DATA INFILE
,因为以脚本方式加载通常会使用多个insert
语句。如果您需要修改CSV,那么从脚本开始就会容易得多,但根据我的经验LOAD DATA INFILE
会更快。