批量存储到mysql数据表

2023年 8月 4日 52.9k 0

在开发过程中,我们经常需要将大量数据存储到MySQL数据库中。如果使用单个SQL语句插入会很耗时,因此我们可以使用批量插入的方式优化。

批量存储到mysql数据表

批量插入是将多个记录一次性插入到数据库中,相比单条插入,能够大幅提升数据插入的效率。

// 示例代码:批量插入
$pdo = new PDO('mysql:host=localhost;dbname=mydb', 'user', 'password');
// 开始事务
$pdo->beginTransaction();
// 插入数据
$data = [
['name' =>'张三', 'age' =>20, 'gender' =>'男'],
['name' =>'李四', 'age' =>25, 'gender' =>'男'],
['name' =>'王五', 'age' =>30, 'gender' =>'女'],
// ... 其他数据
];
foreach ($data as $item) {
$name = $pdo->quote($item['name']); // 处理特殊字符
$age = (int) $item['age'];
$gender = $pdo->quote($item['gender']); // 处理特殊字符
$query = "INSERT INTO `users` (`name`, `age`, `gender`) VALUES ($name, $age, $gender)";
$pdo->exec($query);
}
// 提交事务
$pdo->commit();

从上面的代码可以看出,批量插入的原理就是将插入语句放入循环中进行批量执行,这样可以减少插入语句的发送次数。

注意,在使用批量插入时,需要处理好特殊字符,防止SQL注入等攻击。

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论