insert into select的用法

1. 什么是insert into select

在SQL语言中,insert into select是一种常用的语句,可以把查询结果插入到目标表中。其语法如下:

INSERT INTO 目标表名 (列1, 列2, 列3...) 

SELECT 列1, 列2, 列3...

FROM 源表名

WHERE 条件

上述语句可以把源表查询结果中筛选出的数据插入到目标表的指定列中。

2. 实例演示insert into select使用方法

2.1 创建测试表

为了演示insert into select的使用方法,我们需要首先创建一个测试表,并往其中添加一些测试数据。代码如下:

CREATE TABLE test_table (

id INT,

name VARCHAR(50),

age INT,

gender VARCHAR(10),

score FLOAT

);

INSERT INTO test_table (id, name, age, gender, score)

VALUES (1, '张三', 20, '男', 85.5),

(2, '李四', 22, '男', 91),

(3, '王五', 21, '女', 79.5),

(4, '赵六', 23, '男', 66),

(5, '小七', 20, '女', 88);

执行以上代码后,我们成功创建了一个名为test_table的表,并向其中插入了5条数据。

2.2 从源表中查询数据

现在我们需要从test_table表中查询出那些年龄小于22岁的学生信息,代码如下:

SELECT id, name, age, gender, score

FROM test_table

WHERE age < 22

执行代码后,我们可以得到以下结果:

id name age gender score
1 张三 20 85.50
3 王五 21 79.50
5 小七 20 88.00

可以看到,查询出的结果符合我们的期望,现在我们需要将这些数据插入到另外一张表中。

2.3 把查询结果插入到目标表

现在我们创建一张新表test_new_table,用于存储年龄小于22岁的学生信息,代码如下:

CREATE TABLE test_new_table (

id INT,

name VARCHAR(50),

age INT

);

现在,我们可以使用insert into select语句,将刚刚查询出的数据插入到test_new_table表中,代码如下:

INSERT INTO test_new_table (id, name, age)

SELECT id, name, age

FROM test_table

WHERE age < 22

执行代码后,我们可以查看test_new_table表中的数据,代码如下:

SELECT *

FROM test_new_table

执行代码,查看结果如下:

id name age
1 张三 20
3 王五 21
5 小七 20

可以看到,在test_new_table表中成功插入了符合条件的3条数据。

3. 总结

在SQL语言中,insert into select是一个非常常用的语句,可以将查询结果插入到目标表中。它的用法非常简单明了,只需要按照语法格式正确书写即可。使用这个语句,可以大量减少编写SQL语句的时间和精力。

在实际开发中,我们经常需要使用insert into select来完成数据的复制、转移等操作。掌握这个语句的使用方法,对于提高代码的编写效率和数据处理能力都是非常有帮助的。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

数据库标签