批量插入 MYSQL
时间: 2023-12-11 09:00:07 浏览: 123
批量插入MYSQL可以使用以下几种方法:
方法一:使用循环插入。这是最普通的方式,适用于数据量不是很大的情况。通过循环遍历数据并执行插入操作,每次插入一个数据。但是这种方式每次都要消耗连接数据库的资源。伪代码如下:
```php
for ($i = 1; $i <= 100; $i++) {
$sql = 'INSERT INTO tablename (column1, column2, ...) VALUES (value1, value2, ...)';
// 执行插入操作
}
```
方法二:使用批量插入语句。这种方式通过拼接批量插入语句,减少了连接数据库的次数,效率更高。伪代码如下:
```php
$arr_keys = array_keys($arr);
$sql = 'INSERT INTO tablename (' . implode(',' ,$arr_keys) . ') VALUES';
foreach ($arr as $value) {
$arr_values = array_values($value);
$sql .= " ('" . implode("','" ,$arr_values) . "'),";
}
$sql = substr($sql ,0 ,-1); // 去除最后一个逗号
// 执行插入操作
```
方法三:使用MYSQL LOCAL_INFILE。这种方式适用于数据量较大的情况。通过将数据保存到本地文件,然后使用MYSQL的LOAD DATA INFILE语句批量插入数据库。伪代码如下:
```php
// 将数据保存到本地文件
$file = fopen('data.txt', 'w');
foreach ($data as $value) {
fwrite($file, implode("\t", $value) . PHP_EOL);
}
fclose($file);
// 执行批量插入操作
$sql = "LOAD DATA INFILE 'data.txt' INTO TABLE tablename";
// 执行插入操作
```
以上是三种常见的批量插入MYSQL的方法,根据不同的情况可以选择适合的方式来提高插入效率。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [mysql大批量插入数据四种方法](https://blog.csdn.net/qq_36324113/article/details/90610667)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文