insert into select 和 select into from如何使用

本文介绍了SQL中的insertintoselect和selectinto两种操作,前者用于向已存在的表插入数据,强调了语法、表结构匹配和主键约束;后者主要用于数据备份,方便在需要时恢复数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、insert into select使用

首先insert into select 是往一个已经存在的表里面插入,这边举一个例子

insert into a (a,b,c,d)--
select  i ,j, k, l
from 
(
select i ,j, k, l
from b
left join  c
on c.id=b.id
) as lizi

意思就是从括号内查询出来内容,然后插入到a表。

注意:

1、语法为Insert into Table2(字段1,字段2,...) select value1,value2,... from Table1

2、要求表二必须存在,并且字段也必须存在
3、注意表二的主键约束,如果表二有主键而且不为空,则 表二的字段中必须包括主键
4、由于目标表表二已经存在,所以我们除了插入源表表一的字段外,还可以插入常量

这边举个例子 

insert into a (ziduan) 
select 1 from b

2、select into from 使用

这个就比较简单,我个人而言这个主要在工作中用于表数据的备份

举个例子

select * 
into A20240220 
from A
--意思就是查询A表所有的数据,存储到 A20240220 这个表,这个表就是新建的,在工作中大概应用场景就
--为了防止修改或者删除数据的时候数据出问题,有问题再还原回来。
--比如A表数据修改出错或者有问题,把表再还原回来
select * 
into A
from A20240220 

### SQL 中 `INSERT INTO SELECT` `SELECT INTO FROM` 的区别及用法 #### 插入数据到现有表:`INSERT INTO SELECT` 此语法用于将来自另一个表的数据插入现有的目标表中。这允许基于某些条件筛选源表中的记录并将其复制到目标表。 ```sql -- 将满足特定条件的客户信息从Customer表插入到NewCustomers表 INSERT INTO NewCustomers (FirstName, LastName, City, Country) SELECT FirstName, LastName, City, Country FROM Customer WHERE City = 'Paris' ORDER BY LastName; ``` 上述例子展示了如何利用 `INSERT INTO SELECT` 来实现有条件的数据迁移操作[^1]。 #### 创建新表并插入数据:`SELECT INTO FROM` 相比之下,`SELECT INTO FROM` 不仅会执行相同类型的选取动作,还会自动创建一个新的表格来存储所选的结果集。这意味着不需要预先定义好接收这些行的目标结构;相反,在第一次运行该命令时就会建立相应的架构。 ```sql -- 使用Select Into From创建一个名为Pariser的新表, -- 并从中提取居住在巴黎的所有客户的姓名国家 SELECT FirstName, LastName, Country INTO Pariser -- 新建表名 FROM Customer WHERE City = 'Paris'; ``` 这种形式对于快速生成临时性的汇总视图或者备份特别有用,因为它简化了流程,无需事先声明模式即可完成整个过程。 需要注意的是,不同数据库管理系统可能对这两种语句的支持程度有所差异,并且具体行为也可能存在细微差别。因此建议查阅相应DBMS的手册获取最准确的信息。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值