select into from 和 insert into select的区别

目录

  • 一、区别解释
        • [1、select into from :将查询出来的数据整理到一张新表中保存,表结构与查询结构一致。](#1、select into from :将查询出来的数据整理到一张新表中保存,表结构与查询结构一致。)
        • [2、insert into select :为已经存在的表批量添加新数据。](#2、insert into select :为已经存在的表批量添加新数据。)
  • 二、举例详解

一、区别解释

1、select into from :将查询出来的数据整理到一张新表中保存,表结构与查询结构一致。
sql 复制代码
select *(查询出来的结果) into newtable(新的表名)from where (后续条件)

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

2、insert into select :为已经存在的表批量添加新数据。
sql 复制代码
insert into  (准备好的表) select *(或者取用自己想要的结构)from 表名 where 各种条件

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

二、举例详解

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

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

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

或者:

sql 复制代码
create table table_name_new like table_name_old
  1. 只复制表数据:

如果两个表结构一样:

sql 复制代码
insert into table_name_new select * from table_name_old

如果两个表结构不一样:

sql 复制代码
insert into table_name_new(column1,column2...) select column1,column2... from table_name_old
相关推荐
Andya_net4 分钟前
网络安全 | 深入理解SQL注入的原理和防范
sql·安全·web安全
成为你的宁宁14 分钟前
【Redis 从入门到实战:详细讲解 Redis 安装配置、RDB/AOF 数据持久化方案、一主两从同步部署,深入剖析哨兵模式工作原理与哨兵模式高可用全攻略】
数据库·redis·缓存
云和数据.ChenGuang17 分钟前
r=re.search(r‘data-original=“(.*?)“‘, line)指令解析
数据库·mysql·r语言
v***56539 分钟前
使用bitnamiredis-sentinel部署Redis 哨兵模式
数据库·redis·sentinel
2501_941111821 小时前
使用Python进行网络设备自动配置
jvm·数据库·python
m***11902 小时前
MySQL官网驱动下载(jar包驱动和ODBC驱动)【详细教程】
数据库·mysql
debug骑士2 小时前
云原生边缘计算系统在工业物联网中的实时智能调度与优化策略研究
mysql
chxii2 小时前
第六章:MySQL DQL 表之间的关系 自连接 一对一、一对多、多对一、多对多
java·前端·mysql
煎蛋学姐3 小时前
SSM基于J2EE的山西旅游网站的设计与实现iiqmx(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
java·数据库·java-ee·ssm 框架·山西旅游网站·在线预订系统
咸甜适中3 小时前
rust语言,将JSON中的所有值以字符串形式存储到sqlite数据库中(逐行注释)
数据库·rust·sqlite·json