php online import mysql big data program
|
<🎜>header("content-type:text/html;charset=utf-8");<🎜>
<🎜>error_reporting(E_ALL);<🎜>
<🎜>set_time_limit(0);<🎜>
<🎜>$file='./test.sql';<🎜>
<🎜>$data=file($file);<🎜>
<🎜> <🎜>
<🎜>echo ""; //print_r($data); $data_new=array(); $tmp=array(); foreach ($data as $line) { $line=trim($line); if(strlen($line)==0){ continue; } if(substr($line,0,2)=='--'){ continue; } if(substr($line,0,2)=='/*'){ continue; } $tmp[]=$line; if(substr($line,-1)==';'){ $query=implode('',$tmp); $tmp=array(); $data_new[]=$query; } } $mysqli=new mysqli('localhost','root','root','test'); if($mysqli->connect_errno){ exit('Database connection failed!'); } $mysqli->query("set names utf8"); $error=array(); foreach($data_new as $sql){ $mysqli->query($sql); $r=$mysqli->error; if($r) $error[]=$r; } print_r($r); /* mysql>ALTER TABLE tbl2 DISABLE KEYS; Query OK, 0 rows affected (0.00 sec) mysql>INSERT INTO tbl2 SELECT * FROM tbl1; Query OK, 2000000 row affected (36.30 sec) Records: 2000000 Duplicates: 0 Warnings: 0 mysql>ALTER TABLE tbl2 ENABLE KEYS; Query OK, 0 rows affected (44.55 sec) */ |
Applicable situation: The sql file exported by phpmyadmin is too large and cannot be imported into online phpmyadmin
Upload the program and sql file to the space and delete it after use.
Share a method from other netizens, friends can also refer to it
3 45 12 13 |
$rate_info = file("$table.txt"); print $n_s = chop($rate_info[0]); for($start=1;$start { $value=""; for ($i=$start;$i<($start $n_s-1);$i )<🎜> <🎜>{<🎜> <🎜>$tmp = str_replace("&&jimmy&&"," ",chop($rate_info[$i]));<🎜> <🎜>$value .= "'".addslashes($tmp)."',";<🎜> <🎜>}<🎜> <🎜>$tmp = str_replace("&&jimmy&&"," ",chop($rate_info[$start $n_s-1]));<🎜> <🎜>$value .= "'".$tmp."'";<🎜> <🎜>$query = "insert into $table values (".$value.")";<🎜> <🎜>print mysql_error();<🎜> <🎜>mysql_query($query);<🎜> <🎜>print $start." ";<🎜> <🎜>}<🎜> <🎜>print "ostart";<🎜> <🎜>?> |