📜  mysql 查询批量插入 - SQL (1)

📅  最后修改于: 2023-12-03 14:44:30.327000             🧑  作者: Mango

MySQL查询批量插入

MySQL是一个流行的关系型数据库管理系统,经常被用于存储和管理大量数据。在许多情况下,我们需要向数据库中批量插入数据。这可以通过使用MySQL插入语句来完成,本文将介绍如何使用MySQL查询实现批量插入。

插入单行数据

在MySQL中,插入单行数据的基本语法如下所示:

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

其中,table_name是要插入数据的表名,column1、column2、column3等是要插入数据的列名,而value1、value2、value3等是要插入的具体数据。

例如,如果我们要向student表中插入一行数据,可以使用以下SQL语句:

INSERT INTO student (name, age, gender, grade)
VALUES ('张三', 18, '男', '一年级');
批量插入数据

要向表中批量插入多行数据,我们可以使用多个INSERT INTO语句,但这种方法效率低下,不适用于大量数据的情况。因此,我们可以使用MySQL的批量插入语法来实现更高效的数据插入。有两种常见的批量插入方式:

1. 使用多个值的INSERT INTO语句

这种方法最简单,也最常见。在这种方法中,我们可以将多个值的INSERT INTO语句组合在一起,以插入多行数据。

例如,如果我们要向student表中插入两行数据,可以使用以下SQL语句:

INSERT INTO student (name, age, gender, grade)
VALUES ('张三', 18, '男', '一年级'),
       ('李四', 19, '女', '二年级');

在这个语句中,我们使用了一次INSERT INTO语句,但在VALUES子句中包含了两个值的组合,以插入两行数据。

2. 使用INSERT INTO...SELECT语句

这种方法是使用INSERT INTO...SELECT语句来批量插入数据。在这种方法中,我们可以使用一个SELECT语句来指定要插入的数据,然后将其插入另一个表中。

例如,如果我们要向student表中批量插入数据,可以使用以下SQL语句:

INSERT INTO student_copy (name, age, gender, grade)
SELECT name, age, gender, grade FROM student WHERE age > 18;

在这个语句中,我们首先使用一个SELECT语句来选择age大于18的所有数据,并使用INSERT INTO语句将它们插入student_copy表中。

总结

MySQL中的批量插入语句可以大大提高数据插入的效率。本文介绍了两种常用的批量插入方式,并提供了相应的SQL语句示例。使用这些技术,您可以更加高效地向MySQL数据库中插入大量数据。