select into from和insert into select的区别举例详解!

select into from和insert into select的区别举例详解!

作者:码农小C
这篇文章主要介绍了SQL中的SELECT INTO和INSERT INTO SELECT两种语句的区别和用法,SELECT INTO用于创建新表并复制数据到新表中,而INSERT INTO SELECT用于将数据从一个表插入到已存在的另一个表中,需要的朋友可以参考下。

一、区别解释

1、select into from :将查询出来的数据整理到一张新表中保存,表结构与查询结构一致。

1
select *(查询出来的结果) into newtable(新的表名)from where (后续条件)

即,查询出来结果—>复制一张同结构的空表—>将数据拷贝进去。

2、insert into select :为已经存在的表批量添加新数据。

1
insert into  (准备好的表) select *(或者取用自己想要的结构)from 表名 where 各种条件

即,指定一张想要插入数据的表格—>对数据进行加工筛选—>填入一张准备好的表格。

二、举例详解

select into from 和 insert into select 都是用来复制表

两者的主要区别为: select into from 要求目标表不存在,因为在插入时会自动创建;insert into select from 要求目标表存在。

  • 复制表结构及其数据:
1
create table table_name_new as select * from table_name_old
  • 只复制表结构:
1
create table table_name_new as select * from table_name_old where 1=2;

或者:

1
create table table_name_new like table_name_old
  • 只复制表数据:

如果两个表结构一样:

1
insert into table_name_new select * from table_name_old

如果两个表结构不一样:

1
insert into table_name_new(column1,column2...) select column1,column2... from table_name_old

注意事项:

SELECT INTO 只能用于创建新表,而 INSERT INTO SELECT 可以用于向已存在的表中插入数据。

SELECT INTO 会自动创建新表,如果新表已存在,会报错。而 INSERT INTO SELECT 不会创建表,只会向现有表中添加数据。

在使用 INSERT INTO SELECT 时,可以选择性地插入数据,通过 WHERE 子句过滤数据,或者使用 ORDER BY 对数据进行排序。

在使用 SELECT INTO 时,如果选择的列与新表中的列不完全匹配,SQL Server 会自动创建列,但可能会丢失数据类型和约束。

总结

到此这篇关于select into from和insert into select的区别的文章就介绍到这了。

 

学习资料见知识星球。

以上就是今天要分享的技巧,你学会了吗?若有什么问题,欢迎在下方留言。

快来试试吧,小琥 my21ke007。获取 1000个免费 Excel模板福利​​​​!

更多技巧, www.excelbook.cn

欢迎 加入 零售创新 知识星球,知识星球主要以数据分析、报告分享、数据工具讨论为主;

Excelbook.cn Excel技巧 SQL技巧 Python 学习!

你将获得:

1、价值上万元的专业的PPT报告模板。

2、专业案例分析和解读笔记。

3、实用的Excel、Word、PPT技巧。

4、VIP讨论群,共享资源。

5、优惠的会员商品。

6、一次付费只需129元,即可下载本站文章涉及的文件和软件。

文章版权声明 1、本网站名称:Excelbook
2、本站永久网址:http://www.excelbook.cn
3、本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长王小琥进行删除处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报。
6、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。

THE END
分享
二维码
< <上一篇
下一篇>>
发表评论

共有 0 条评论

沙发空余