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
相关推荐
一生有你20205 分钟前
powerdesigner使用逆向工程生成物理模型
数据库
zcn12619 分钟前
时间条件高效用法
数据库·sql优化改写
zcn12634 分钟前
消除无关列
数据库·sql优化改写
哈库纳玛塔塔35 分钟前
dbVisitor 利用 queryForPairs 让键值查询一步到位
java·数据库·python
Moshow郑锴36 分钟前
pgsql常见查询索引优化(等值条件+范围条件)
数据库·sql·mysql
sa1002737 分钟前
京东评论接口调用、签名生成与异常处理
开发语言·数据库·python
天竺鼠不该去劝架1 小时前
RPA 平台选型指南(2026):金智维 vs 来也RPA vs 艺赛旗 vs 阿里云 RPA 深度对比
大数据·数据库·人工智能
tod1132 小时前
Redis 持久化机制深度解析(RDB / AOF)
数据库·redis·缓存
❀͜͡傀儡师2 小时前
一个基于PostgreSQL的轻量级消息队列(PGMQ)
数据库·postgresql·pgmq
哈库纳玛塔塔2 小时前
dbVisitor 统一数据库访问库,更新 v6.7.0,面向 AI 支持向量操作
数据库·spring boot·orm