MySQL INSERT 和 SELECT一起使用

MySQL INSERT 和 SELECT一起使用

在MySQL中,有时候需要把一张表的数据插入到另外一张表中。这时候我们可以使用MySQL INSERT with SELECT语句。

阅读更多:MySQL 教程

INSERT with SELECT

INSERT with SELECT语句的格式如下:

INSERT INTO table1
SELECT *
FROM table2
WHERE condition;

这里的table1是需要插入数据的目标表,table2是数据来源表。我们可以给出一个条件来指定需要插入哪些数据,如果不需要限制条件,可以使用通配符*匹配所有数据。

下面,我们来看一个例子。我们有两张表,分别存储了学生信息和课程信息。现在,我们需要在一个新表格中存储每个学生和每门课程的成绩,怎么做?

首先,我们创建一个名为student_course_grades的表:

CREATE TABLE student_course_grades (
    student_name varchar(255),
    course_name varchar(255),
    grade int
);

接下来,我们使用INSERT with SELECT语句将数据插入到student_course_grades表中:

INSERT INTO student_course_grades
SELECT s.name, c.course_name, g.grade
FROM students s
JOIN grades g ON s.id = g.student_id
JOIN courses c ON c.id = g.course_id;

这里,我们将学生姓名、课程名称和成绩从学生表、成绩表和课程表中连接,并插入到新的student_course_grades表中。当然,需要确保表中的数据类型和对应关系正确。

总结

通过MySQL INSERT with SELECT语句,我们可以将一张表的数据插入到另外一张表中。使用时要确保正确的数据类型和对应关系,以及适当的条件限制。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程