MySQL SELECT INTO INSERT INTO
介绍
在MySQL中,我们经常需要从一个表中选择数据,并将这些数据插入到另一个表中。为了方便起见,MySQL提供了SELECT INTO INSERT INTO语句,它可以一次完成这两个操作。本文将介绍如何使用SELECT INTO INSERT INTO语句,并提供详细的代码示例。
SELECT INTO INSERT INTO流程
下面是使用SELECT INTO INSERT INTO的基本流程图:
flowchart TD
A[选择数据] --> B[插入数据]
SELECT INTO INSERT INTO语法
SELECT INTO INSERT INTO语句的基本语法如下:
SELECT column1, column2, ...
INTO new_table
FROM old_table
WHERE condition;
INSERT INTO table_name (column1, column2, ...)
SELECT column1, column2, ...
FROM old_table
WHERE condition;
其中,column1, column2, ...
表示要选择的列,new_table
表示要插入数据的新表,old_table
表示要选择数据的旧表,condition
表示选择数据的条件。
SELECT INTO INSERT INTO代码示例
假设我们有一个学生表(students),其中包含学生的姓名(name)、年龄(age)和成绩(score)等字段。现在我们想要选择年龄大于18岁的学生,并将他们的姓名和成绩插入到新表(adult_students)中。下面是实现这一操作的代码示例:
-- 创建学生表
CREATE TABLE students (
name VARCHAR(50),
age INT,
score INT
);
-- 插入示例数据
INSERT INTO students (name, age, score)
VALUES ('张三', 20, 90),
('李四', 17, 85),
('王五', 19, 95),
('赵六', 21, 88);
-- 创建新表
CREATE TABLE adult_students (
name VARCHAR(50),
score INT
);
-- 选择年龄大于18岁的学生,并插入到新表中
SELECT name, score
INTO adult_students
FROM students
WHERE age > 18;
在上面的示例代码中,我们首先创建了一个学生表(students),并向其插入了一些示例数据。然后,我们创建了一个新表(adult_students),用于存储年龄大于18岁的学生的姓名和成绩。最后,我们使用SELECT INTO INSERT INTO语句选择符合条件的学生,并将其插入到新表中。
类图
下面是学生表(students)的类图:
classDiagram
class students{
- name: VARCHAR(50)
- age: INT
- score: INT
}
在上面的类图中,学生表(students)包含了姓名(name)、年龄(age)和成绩(score)等字段。
总结
本文介绍了使用MySQL的SELECT INTO INSERT INTO语句将数据从一个表选择并插入到另一个表的方法。我们首先给出了SELECT INTO INSERT INTO的基本流程图,然后提供了SELECT INTO INSERT INTO语句的语法说明。最后,我们通过一个代码示例演示了如何使用SELECT INTO INSERT INTO语句实现将年龄大于18岁的学生的姓名和成绩插入到新表的操作。希望本文能够帮助读者更好地理解和应用SELECT INTO INSERT INTO语句。