PHP是一种广泛使用的开源脚本语言,尤其适用于Web开发。MySQL是一种流行的开源关系型数据库管理系统。批量插入(Batch Insert)是指在一次数据库操作中插入多条记录,而不是逐条插入,这样可以显著提高数据插入的效率。
INSERT INTO ... VALUES (...), (...), ...
语法:INSERT INTO ... VALUES (...), (...), ...
语法:INSERT INTO ... SELECT ...
语法:INSERT INTO ... SELECT ...
语法:批量插入通常用于以下场景:
以下是一个使用PHP进行批量插入的示例:
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 准备批量插入的数据
$data = [
['name' => 'Alice', 'age' => 25],
['name' => 'Bob', 'age' => 30],
['name' => 'Charlie', 'age' => 35]
];
// 构建批量插入的SQL语句
$sql = "INSERT INTO users (name, age) VALUES ";
$values = [];
foreach ($data as $row) {
$values[] = "('" . $conn->real_escape_string($row['name']) . "', " . intval($row['age']) . ")";
}
$sql .= implode(', ', $values);
// 执行SQL语句
if ($conn->query($sql) === TRUE) {
echo "批量插入成功";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
// 关闭连接
$conn->close();
?>
通过以上方法,可以有效解决PHP MySQL批量插入过程中可能遇到的问题。
领取专属 10元无门槛券
手把手带您无忧上云