php - 将csv文件导入MYSQL的最快方法

标签 php mysql csv

此方法将 csv 文件上传到 mysql。但是在 csv 文件中有数千个数据时,上传数据需要花费大量时间,这很烦人。

        $deleterecords = "TRUNCATE TABLE discount"; //empty the table of its current records
        mysql_query($deleterecords);
        //readfile($name);
        //Import uploaded file to Database
        $handle = fopen($name, "r");

        $i=0;
        while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
        if($i>0){
            $import="INSERT into discount(id,title,expired_date,amount,block)values('".$data[0]."','".$data[1]."','".$data[2]."','".$data[3]."','".$data[4]."')";
        //imports data serially to the allocated columns.
            mysql_query($import) or die(mysql_error());//query
        }
        $i=1;
        }
        fclose($handle);
       //closing the handle
       // print "Import done ";
       ?>

Can anyone suggest faster method for uploading data ?

最佳答案

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

要将 Excel 文件导入 MySQL,首先将其导出为 CSV 文件。从生成的 CSV 文件中删除 CSV header 以及 Excel 可能已放在 CSV 文件末尾的空数据。

然后您可以通过运行将其导入 MySQL 表:

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

继续阅读:Import CSV file directly into MySQL

关于php - 将csv文件导入MYSQL的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30725233/

相关文章:

mysql - 获取每组分组结果的前n条记录

php - 尝试从第一行检索特定列

php - ReflectionClass::getProperties() 是否也获取父级的属性?

php - MYSQL 语法错误

php - Live Frontpage(像 cursebird 或 foursquare)

javascript - 在 Javascript 中以 CSV 格式下载数据

c# - 将日期从 mysql 表导出到 .CSV

java - csv 文件的 java.util.Scanner 的正则表达式?

javascript - 对 php 和 javascript 中编码的文本进行转义

php - 验证更新排除某些字段