sql 向表中插入新数据时,同时插入另一张表中某些字段的数据

本文介绍了如何使用SQL的INSERT INTO...SELECT语句在向表中插入新数据时,同时合并来自另一张表的特定字段。通过示例,展示了如何将间谍过家家角色表的数据插入到动漫角色汇总表中,灵活地结合自定义数据和已有数据。此方法适用于需要在不同表间同步或整合数据的场景。
摘要由CSDN通过智能技术生成

sql 向表中插入新数据时,同时插入另一张表中某些字段的数据


一、 语法格式

  1. 向表中插入新数据时,同时插入另一张表中某些字段的数据
    --  向一张表中插入数据,一部分字段的数据为自定义,另一部分字段的数据来源于另一张表
    INSERT INTO table1
    ( 
    	a, 
    	b, 
    	c
    )
    SELECT 
    	‘自己定义的数据’, 
    	b,  -- table2中的字段b
    	c	-- table2中的字段c
    FROM table2;
    

二、 举例

1. 动漫角色汇总表 (anime_characters)

字段名字段说明
id主键
animation动漫名
name角色名
profile角色简介

2. 间谍过家家角色表(spy_family)

字段名字段说明
id主键
name角色名
profile角色简介

3. sql要求:

  • 向动漫角色汇总表 (anime_characters)中插入新数据,其中name和profile字段来自间谍过家家角色表(spy_family)
insert into anime_characters
(
	id, 
	animation, 
	name, 
	profile
)
select 
	uuid(),  --自动生成uuid的函数
	'间谍过家家',  
	name,
	profile
from spy_family

注意:
只有 nameprofile 两个字段中的数据来自spy_family表,
idanimation,两个字段中的数据为我们自定义的:uuid()和’间谍过家家’。

  • 简单来说:上述sql实现了在insert时,不仅能插入我们手动输入的数据,还能同时插入其他表中的数据

三、 语法扩展

  1. 从一个表中复制所有的列插入到另一个已存在的表中

    INSERT INTO table1
    SELECT * FROM table2;
    
  2. 从一个表中复制某些列插入到另一个已存在的表中

    INSERT INTO table1
    ( a, b, c, ...)
    SELECT a, b, c, ...
    FROM table2;
    

四、后记

原以为insert into…select语句,只是用于复制一张表中的全部数据或部分数据,
没想到还能在复制其他表中的数据的同时,插入自己定义的新数据,
第一次用这样的写法,还挺有趣,记录一下。

间谍过家家

ps:最近在看间谍过家家,阿尼亚真可爱。以后要是有幸遇到一位能厮守终生、白头偕老的女孩,希望生个像阿尼亚一样可爱的女儿。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值