首页 > 网站 > 建站经验 > 正文

php 在线导入mysql大数据程序

2024-04-25 20:37:15
字体:
来源:转载
供稿:网友

php 在线导入 mysql 大数据程序

<?php

header("content-type:text/html;charset=utf-8");

error_reporting(E_ALL);

set_time_limit(0);

$file='./test.sql';

$data=file($file);

echo "<pre>";

//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('数据库连接失败!');

}

$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)

*/

适用情况:phpmyadmin导出的sql文件过大,无法导入到线上phpmyadmin中

把该程序和sql文件上传到空间中,用完后删除即可。

分享一个其他网友的方法吧,小伙伴们也可以参考下

$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";

?>

以上所述就是本文的全部内容了,希望大家能够喜欢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表