拼接INSERT语句
要批量添加数据,首先需要拼接INSERT语句。INSERT语句需要包含表名和要插入的字段名,然后再将多个值用逗号分隔。例如,假设大家有一个名为user的表,有id、name、age三个字段,下面是一个插入一条记录的INSERT语句:
INSERT INTO user (id, name, age) VALUES (1, ‘张三’, 20);
要插入多条记录,只需将VALUES中的值添加数值即可:
INSERT INTO user (id, name, age) VALUES (1, ‘张三’, 20), (2, ‘李四’, 22), (3, ‘王五’, 21);
使用循环拼接
如果是需要插入的记录很多,手动一个一个添加显然就不可取了。可以使用循环来拼接SQL语句,这里介绍一种使用PHP来实现的方法:
// 用户信息数组,包含多个用户记录 $userInfo = [ ['id'=>1, 'name'=>'张三', 'age'=>20], ['id'=>2, 'name'=>'李四', 'age'=>22], ['id'=>3, 'name'=>'王五', 'age'=>21] ]; // 拼接SQL语句 $sql = "INSERT INTO user (id, name, age) VALUES "; foreach ($userInfo as $user) { $sql .= "(".$user['id'].", '".$user['name']."', ".$user['age']."), "; } $sql = rtrim($sql, ', '); // 去掉最后一个逗号和空格 // 执行SQL语句 mysqli_query($conn, $sql);
这里使用了一个循环,将每个用户的信息拼接成一条SQL语句,最后一起批量添加。
注意事项
批量添加数据时,需要注意以下几点:
- 如果要插入的数据过多,一定要分批次进行添加,避免造成数据库性能问题。
- 在拼接SQL语句时,一定不要使用字符串拼接符“+”,要使用连接符“.”。因为使用“+”会将数据强制转化为字符串类型。
- 要注意转义特殊字符,防止SQL注入。
- 在执行SQL语句时,一定要进行错误处理,防止语句执行失败。