在Mysql中批量导入数据的方法有:1.使用循环语句导入;2.使用mysql LOCAL_INFILE语句导入;3.通过拼接sql导入;4.使用存储过程导入;在mysql中批量导入数据的方法以下几种使用循环语句导入使用循环语句导入数据时,适
在Mysql中批量导入数据的方法有:1.使用循环语句导入;2.使用mysql LOCAL_INFILE语句导入;3.通过拼接sql导入;4.使用存储过程导入;
在mysql中批量导入数据的方法以下几种
使用循环语句导入
使用循环语句导入数据时,适用于数据量不是很大,因导入时会消耗连接数据库的资源。
for($i=1;$i<=100;$i++){
$sql = 'insert...............';
}
foreach($arr as $key => $value){
$sql = 'insert...............';
}
while($i <= 100){
$sql = 'insert...............';
$i++
}
使用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;
}
通过拼接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);
使用存储过程导入
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();
--结束END--
本文标题: 怎么在mysql中批量导入数据
本文链接: https://www.lsjlt.com/news/111037.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-15
2024-05-15
2024-05-15
2024-05-15
2024-05-15
2024-05-15
2024-05-15
2024-05-15
2024-05-14
2024-05-14
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0