mysql批量插入数据sql语句
时间: 2024-08-29 20:00:30 浏览: 137
JDBC连接MySQL数据库批量插入数据过程详解
5星 · 资源好评率100%
MySQL 中批量插入数据通常使用 `INSERT INTO` 语句配合数组或者表单数据,避免频繁地对数据库进行单条记录的插入操作,提高效率。以下是基本的批量插入语法:
```sql
INSERT INTO table_name (column1, column2, ...)
VALUES
(value1, value2, ...),
(value3, value4, ...),
...;
```
如果你的数据在一个数组或josn对象中,可以先将它们转换成字符串,然后利用 `FLOOR()` 函数分隔每个值行:
```sql
SET @row = '';
SET @values = CONCAT('(', GROUP_CONCAT(REPLACE(@row, ',', '), (') SEPARATOR ''), ')');
INSERT INTO table_name VALUES UNNEST(SPLIT(@values, ','));
-- 示例数据,假设data是一个包含键值对的JSON数组
SET @data = '[{"col1": "val1", "col2": "val2"}, {"col1": "val3", "col2": "val4"}]';
SET @json_data = UNNEST(JSON_EXTRACT(@data, '$[*]')) AS values;
DELIMITER ;;
CREATE TEMPORARY TABLE temp_table (
col1 VARCHAR(50),
col2 VARCHAR(50)
);
LOAD DATA LOCAL INFILE 'json_data.txt'
INTO TABLE temp_table
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n';
INSERT INTO table_name SELECT * FROM temp_table;;
DELIMITER ;
```
阅读全文