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
相关推荐
龙腾AI白云7 小时前
AI检索增强生成(RAG):解决大模型幻觉的核心落地技术
数据库·人工智能·机器学习·知识图谱
一 乐7 小时前
动漫书销售商城|基于springboot + vue动漫书销售商城(源码+数据库+文档)
java·数据库·vue.js·spring boot·毕业设计
zzj_2626107 小时前
MySQL常用操作
数据库·mysql
其实防守也摸鱼8 小时前
Fastjson 反序列化漏洞(JNDI注入)
android·数据库·安全·oracle·自动化·fastjson·反序列化
haerapi8 小时前
把 PostgreSQL 复制巡检做成可审计闭环:确定性采集、阈值判定与受控模型归纳
数据库·postgresql
yolo_guo8 小时前
调试mysql延迟与libevent回调实际发送回复时机问题
c++·mysql·libevent
旺仔学长 哈哈8 小时前
springboot钓鱼爱好者交流平台APP设计与实现
java·spring boot·mysql·充电桩管理系统
微学AI9 小时前
不让每一步都调用最贵模型:用蓝耘智能路由改造自主式研究 Agent
数据库·人工智能·蓝耘
yjb.gz9 小时前
Oracle19 RAC查看集群状态及磁盘空间情况(巡检)
数据库
钝挫力PROGRAMER9 小时前
开发踩坑记:MyBatis selectKey、空 SQL
数据库·sql·mybatis