怎么在mysql中批量导入数据 mysql如何批量导入数据

主机教程 建站分享 2年前 (2022-11-27) 204次浏览

文章摘要:怎么在mysql中批量导入数据 mysql如何批量导入数据

在mysql中批量导入数据的方法有:1.使用循环语句导入;2.使用MYSQL LOCAL_INFILE语句导入 […]

在mysql中批量导入数据的方法有:1.使用循环语句导入;2.使用MYSQL LOCAL_INFILE语句导入;3.通过拼接sql导入;4.使用存储过程导入;

在mysql中批量导入数据的方法以下几种

1.使用循环语句导入

使用循环语句导入数据时,适用于数据量不是很大,因导入时会消耗连接数据库的资源。

for($i=1;$i<=100;$i++){

$sql = 'insert...............';

}

foreach($arr as $key => $value){

$sql = 'insert...............';

}

while($i <= 100){

$sql = 'insert...............';

$i++

}

2.使用MYSQL LOCAL_INFILE语句导入

public function pdo_local_info ()

{

global $system_dbserver;

$dbname = 'hs96.cn@gmail.com';

$ip = 'hs96.cn@gmail.com';

$user = 'hs96.cn@gmail.com';

$pwd = 'hs96.cn@gmail.com';

$dsn = 'mysql:dbname=' . $dbname . ';host=' . $ip . ';port=3306';

$options = [PDO::MYSQL_ATTR_LOCAL_INFILE => true];

$db = new PDO($dsn ,$user ,$pwd ,$options);

return $db;

}

3.通过拼接sql导入

通过拼接sql导入,可以减少连接资源。

$arr_keys = array_keys($arr);

$sql = 'INSERT INTO tablename (' . implode(',' ,$arr_keys) . ') values';

$arr_values = array_values($arr);

$sql .= " ('" . implode("','" ,$arr_values) . "'),";

$sql = substr($sql ,0 ,-1);

4.使用存储过程导入

delimiter $$$

create procedure zqtest()

begin

declare i int default 0;

set i=0;

start transaction;

while i<80000 do

set i=i+1;

end while;

commit;

end

$$$

delimiter;

call zqtest();


声明:
若非注明,本站文章源于互联网收集整理和网友分享发布,如有侵权,请联系站长处理。
文章名称:怎么在mysql中批量导入数据 mysql如何批量导入数据
文章链接:http://www.7966.org/post/11635.html
转载请注明出处

喜欢 (0)