脚本宝典收集整理的这篇文章主要介绍了php – 将大型CSV导入mysql数据库,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
CSV大约是55 MB,大约有750,000行.
我重写了脚本,以便它解析CSV并逐个转储行.
这是代码:
$row = 1; if (($handle = foPEn("postal_codes.csv","r")) !== FALSE) { while (($data = fgetcsv($handle,1000,",")) !== FALSE) { $num = count($data); $row++; for ($c=0; $c < $num; $c++) { $arr = explode('|',$data[$c]); $postcode = MysqL_real_escape_string($arr[1]); $cITy_name = MysqL_real_escape_string($arr[2]); $city_slug = MysqL_real_escape_string(toAscii($city_name)); $PRov_name = MysqL_real_escape_string($arr[3]); $prov_slug = MysqL_real_escape_string(toAscii($prov_name)); $prov_abbr = MysqL_real_escape_string($arr[4]); $lat = MysqL_real_escape_string($arr[6]); $lng = MysqL_real_escape_string($arr[7]); MysqL_query("insert into cities (`postcode`,`city_name`,`city_slug`,`prov_name`,`prov_slug`,`prov_abbr`,`lat`,`lng`) values ('$postcode','$city_name','$city_slug','$prov_name','$prov_slug','$prov_abbr','$lat','$lng')") or die(MysqL_error()); } } fclose($handle); }
mysqlimport是LOAD DATA LOCAL INFILE sql语句的命令行界面.
两者应该比逐行执行INSERT快10-20倍.
以上是脚本宝典为你收集整理的php – 将大型CSV导入mysql数据库全部内容,希望文章能够帮你解决php – 将大型CSV导入mysql数据库所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。