php 在线 mysql 大数据导入程序
程序员文章站
2022-05-07 20:48:44
...
1 php 2header("content-type:text/html;charset=utf-8"); 3error_reporting(E_ALL); 4set_time_limit(0); 5$file='./test.sql'; 6$data=file($file); 7 8echo ""; 9//print_r($data);10$data_new=array(); 11$tmp=array(); 12foreach ($dataas$line) { 1314$line=trim($line); 15if(strlen($line)==0){ 16continue; 17 } 18if(substr($line,0,2)=='--'){ 19continue; 20 } 21if(substr($line,0,2)=='/*'){ 22continue; 23 } 24$tmp[]=$line; 25if(substr($line,-1)==';'){ 26$query=implode('',$tmp); 27$tmp=array(); 28$data_new[]=$query; 29 } 3031} 32333435$mysqli=new mysqli('localhost','root','root','test'); 36if($mysqli->connect_errno){ 37exit('数据库连接失败!'); 38} 39$mysqli->query("set names utf8"); 4041$error=array(); 42foreach($data_newas$sql){ 43$mysqli->query($sql); 44$r=$mysqli->error; 45if($r) $error[]=$r; 46} 47print_r($r); 484950/*515253mysql>ALTER TABLE tbl2 DISABLE KEYS; 54Query OK, 0 rows affected (0.00 sec) 5556mysql>INSERT INTO tbl2 SELECT * FROM tbl1; 57Query OK, 2000000 row affected (36.30 sec) 58Records: 2000000 Duplicates: 0 Warnings: 0 5960mysql>ALTER TABLE tbl2 ENABLE KEYS; 61Query OK, 0 rows affected (44.55 sec) 626364*/适用情况:phpmyadmin导出的sql文件过大,无法导入到线上phpmyadmin中
把该程序和sql文件上传到空间中,用完后删除即可。
以上就介绍了php 在线 mysql 大数据导入程序,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。