赞
踩
上图来自官方文档,在其中,有这样一句话描述: 可以根据SELECT 语句的结果快速将多行插入到表中,该语句可以从一个或多个表中进行选择。在这段话下面,给我们提供了一个使用的demo。
INSERT INTO tbl_temp2 (fld_id)
SELECT tbl_temp1.fld_order_id
FROM tbl_temp1 WHERE tbl_temp1.fld_order_id > 100;
根据官方文档描述,我们可以使用该语法来做表复制。在很多博客中,大家都写作INSERT INTO SELECT,或许大家习惯了将insert和into绑定到一起,我们可以看到官方文档将其称为INSERT…SELECT 语法,这里需要特殊说明一下。
--1.创建测试表 create TABLE Table1 ( a varchar(10), b varchar(10), c varchar(10) ); create TABLE Table2 ( a varchar(10), c varchar(10), d int ); --2.创建测试数据 insert into Table1 values('赵','asds','90'); insert into Table1 values('钱','asds','100'); insert into Table1 values('孙','asds','80'); insert into Table1 values('李','asds',null); --显示更新前结果 select * from Table2; --3.INSERT INTO SELECT语句复制表数据部分列和常值 insert into Table2(a, c, d) select a,c,5 from Table1; 或:insert into Table2 select * from Table1; --4.显示更新后的结果 select * from Table2; --5.删除测试表 drop TABLE Table1; drop TABLE Table2;
参考文章:
1.SELECT INTO 和 INSERT INTO SELECT 两种表复制语句详解(SQL数据库和Oracle数据库的区别)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。