mysql insert语句插入多条数据
时间: 2024-12-18 14:35:01 浏览: 6
mysql数据插入效率比较
MySQL 中的 `INSERT` 语句可以一次性插入多条数据,通常通过使用数组、表值函数或者直接列出所有行来实现。这里有几个示例:
1. **使用 VALUES 子句**:
如果你要插入的数据结构相对简单,可以直接列出每个值,每行数据之间用逗号分隔:
```sql
INSERT INTO table_name (column1, column2, column3)
VALUES
(值1_1, 值1_2, 值1_3),
(值2_1, 值2_2, 值2_3),
(...);
```
2. **使用 INTO 子句和表名**:
这种方法适用于已知表结构的情况,可以一次插入多行记录,并且可以处理预定义的列顺序:
```sql
INSERT INTO table_name
(column1, column2, column3)
SELECT value1, value2, value3
FROM some_other_table;
```
3. **使用 PREPARED STATEMENTS 和 BULK INSERT**:
对于大量数据,可以先创建一个临时表格,然后批量插入到目标表:
```sql
SET @sql = CONCAT('INSERT INTO table_name(', GROUP_CONCAT(column_name), ') VALUES ',
GROUP_CONCAT('(', GROUP_CONCAT('?, ' SEPARATOR ''), ')'));
PREPARE stmt FROM @sql;
SET @values = NEW_LINE feeds-separated-values;
EXECUTE stmt USING @values;
```
其中,`NEW_LINE` 替换为实际的换行符,而 `feeds-separated-values` 是由逗号分隔的一系列值。
阅读全文