您当前的位置:首页 > 网站建设 > Mysql
| php | asp | css | H5 | javascript | Mysql | Dreamweaver | Delphi | 网站维护 | 帝国cms | React | 考试系统 | ajax | jQuery |

php将批量账号密码导入mysql数据库源代码

51自学网 2019-08-06 17:53:58
  Mysql

$start_time=microtime_float();

$db=mysqli_connect('localhost','root','root','test');

$file=fopen('f:/10-million-combos.txt','rb');

mysqli_query($db,"DROP TABLE IF EXISTS `ten_million_account`;");

mysqli_query($db,"CREATE TABLE `test`.`ten_million_account`( `account_id` MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT, `account` VARCHAR(100) NOT NULL, `password` VARCHAR(200) NOT NULL, PRIMARY KEY (`account_id`) ) ENGINE=MYISAM CHARSET=utf8 COLLATE=utf8_general_ci; ");

//mysqli_query($db,"TRUNCATE ten_million_account;");

$sql = "INSERT INTO ten_million_account(`account`,`password`) VALUES('%s','%s');";

$count=1;

while($row=fgets($file)){

    echo $row;

    $data=preg_split("@\s.*?@",$row);

    if($data && !empty($data[0]) && !empty($data[1])){

        mysqli_query($db,sprintf($sql,$data[0],$data[1]));

    }

    $count++;

    unset($row);

    unset($data);

}

echo "\n run time:".(microtime_float()-$start_time);

 

 

function  microtime_float ()

{

    list( $usec $sec ) =  explode ( " " ,  microtime ());

    return ((float) $usec  + (float) $sec );

}


 

 [代码]改进高效版

$start_time=microtime_float();

$db=mysqli_connect('localhost','root','root','test');

$file=fopen('f:/10-million-combos.txt','rb');

mysqli_query($db,"DROP TABLE IF EXISTS `ten_million_account`;");

mysqli_query($db,"CREATE TABLE `test`.`ten_million_account`( `account_id` MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT, `account` VARCHAR(100) NOT NULL, `password` VARCHAR(200) NOT NULL, PRIMARY KEY (`account_id`) ) ENGINE=MYISAM CHARSET=utf8 COLLATE=utf8_general_ci; ");

//mysqli_query($db,"TRUNCATE ten_million_account;");

$sql = "INSERT INTO `test`.ten_million_account(`account`,`password`) VALUES %s;";

$count=1;

$conj=$values_str='';

while($row=fgets($file)){

    //echo $row;

    $data=preg_split("@\s.*?@",addslashes($row));

    if($data && !empty($data[0]) && !empty($data[1])){

        //mysqli_query($db,sprintf($sql,$data[0],$data[1]));

        $values_str.=$conj."('".$data[0]."','".$data[1]."')";

        $conj=',';

    }

    unset($row);

    unset($data);

    if(($count%10000)==0){

        if($values_str){

            echo $count."\n";

            if(!mysqli_query($db,sprintf($sql,$values_str))){

                echo sprintf($sql,$values_str)."\n";

                exit;

            }

        }else{

            exit;

        }

        $values_str=$conj='';

    }

    $count++;

}

if($values_str){

    mysqli_query($db,sprintf($sql,$values_str));

}

echo "\n run time:".(microtime_float()-$start_time);

 

 

function  microtime_float ()

{

    list( $usec $sec ) =  explode ( " " ,  microtime ());

    return ((float) $usec  + (float) $sec );

}


下载地址:
如何利用php读取txt文件再将数据插入到数据库?
PHP Database ODBC
51自学网,即我要自学网,自学EXCEL、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。
京ICP备13026421号-1