1. 首页 > 知识问答 > insert into select语法的使用

insert into select语法的使用

INSERT INTO SELECT的语法如下:

INSERT INTO table2 (column1, column2, column3, ...)SELECT column1, column2, column3, ...FROM table1WHERE condition;登录后复制

这个语句的意思是将table1中满足某个条件的行的column1、column2、column3等列的值插入到table2中的对应列中。

下面是一个实际的例子来说明INSERT INTO SELECT的使用。

假设我们有两个表:students和new_students。students表包含以下列:id, name, age, score。我们想将students表中年龄大于等于18岁的学生插入到new_students表中。

首先,我们创建students表和插入一些示例数据:

CREATE TABLE students ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50), age INT, score INT);INSERT INTO students (name, age, score)VALUES ('John', 16, 90), ('Alice', 20, 95), ('Tom', 18, 85), ('Emily', 17, 88);登录后复制

接下来,我们创建new_students表:

CREATE TABLE new_students ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50), age INT, score INT);登录后复制

最后,我们使用INSERT INTO SELECT语句将students表中年龄大于等于18岁的学生插入到new_students表中:

INSERT INTO new_students (name, age, score)SELECT name, age, scoreFROM studentsWHERE age >= 18;登录后复制

这样,new_students表中就包含了students表中年龄大于等于18岁的学生的信息。

除了直接将查询结果插入到另一个表中外,INSERT INTO SELECT语句还可以用于创建一个新的表,只包含查询结果:

CREATE TABLE new_table ASSELECT column1, column2, ...FROM tableWHERE condition;登录后复制

这样,new_table就会被创建并包含查询结果。

INSERT INTO SELECT语句是在一个表(或查询结果)中选择某些行,并将其插入到另一个表中(或创建一个新的表)。这个功能非常强大,可以方便地复制、筛选和创建新的表。