zoukankan      html  css  js  c++  java
  • PHP csv文件30w+数据导入mysql数据库

    <?php
    class Add
    {
        public function data()
        {
            ini_set('memory_limit', '-1');  //PHP内存设置
            $handle=fopen("201501.csv","r");
            $fileName="201501.csv";
            //将文件一次性全部读出来
            $excelData = array();
            $content = trim(file_get_contents($fileName));
            $excelData = explode("
    ",$content);
    
            $chunkData = array_chunk($excelData , 500); //批量插入500条数据
            $count = count($chunkData);
            for ($i = 0; $i < $count; $i++) {
                $insertRows = array();
                foreach($chunkData[$i] as $value){
                    $string = mb_convert_encoding(trim(strip_tags($value)), 'utf-8', 'utf-8');//转码
                    $v = explode(',', trim($string));
                    $v = str_replace("'", " ", $v);
                    $v = str_replace(" ", "", $v);
                    $sqlString       = '('."'".implode( "','", $v  ) . "'".')'; //批量
                    $insertRows[]    = $sqlString;
                }
                 //var_dump($insertRows);
                // $sql=$insertRows[0];
                // echo $sql;
                $result = $this->add($insertRows); //批量将sql插入数据库。
            }
        }
    
        public function add($insertRows)
        {
            set_time_limit(0);
            $pdo= new PDO("mysql:host=xxxxxx;dbname=xxx",'root','xxx');
    
            // //采取批量插入
            $data = implode(',', $insertRows);
            $sql = "INSERT into `bsy_201501`(id,sid,oid,nickname,tel,phone,contacts,province,city,area,address,link1,link2,omoney,gname,gsign,gnum,onum,gpaymoney,gtotalmoney,gsinglemoney)
                        VALUES {$data}";
            // var_dump($sql);die;
            $result = $pdo->query($sql);
        }
    
    }
    $model = new Add();
    $model->data();
  • 相关阅读:
    洛谷 P3389 【模板】高斯消元法
    洛谷 P2090 数字对
    树链剖分
    bzoj3784 树上的路径
    K Seq HihoCoder
    一些奇怪的注意事项
    洛谷 P3437 [POI2006]TET-Tetris 3D
    洛谷 P2048 [NOI2010]超级钢琴 || Fantasy
    JVM字节码指令
    java中什么是Bridge Method(桥接方法)
  • 原文地址:https://www.cnblogs.com/wxy0126/p/11132180.html
Copyright © 2011-2022 走看看