SQL插入数据时连表查询(利用子查询一次性 insert 多条数据)

标准说明:
INSERT 语句中的 SELECT 子查询可用于将一个或多个表或视图中的值添加到另一个表中。使用 SELECT 子查询还可以同时插入多行.

    INSERT INTO 表名 as a (
        a.列1,a.列2,a.列3...
    )
    SELECT 
        b.列1,b.列2,b.列3... 
    FROM 表名 as b
    WHERE 条件;

实例1:

插入数据之前,先从其他数据表查询得到结果。
这里还用到了字段和字符串的拼接concat,不是用+哦!

INSERT INTO `v9_hits`(
        `v9_hits`.`hitsid`,`v9_hits`.`catid`,`v9_hits`.`views`
    )
    SELECT 
        concat('c-1-',b.`id`),c.`catid`,b.`readpoint`
    FROM `v9_news_data` as b,`v9_news` as c 
	Where 
		c.`id` = b.`id`

单独的拼接更新:

mysql下sql语句 update 字段=字段+字符串
mysql下sql语句令某字段值等于原值加上一个字符串

update 表明 SET 字段= 'feifei' || 字段; (postgreSQL 用 || 来连贯字符串) 

MySQL连贯字符串不能利用加号(+),而利用concat。
比方在aa表的name字段前加字符’x’,利用:

update aa set name=concat('x',name) 

实际例子:

update `v9_hits` set `hitsid`=concat('c-1-',`hitsid`)  where `updatetime` = 0;

附:update

UPDATE `v9_member` a, `destoon7_member` b 
SET a.`nickname` = b.`truename` 
WHERE a.`username` = b.`username`
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQL语句中,子查询可以用于将一个或多个表或视图中的值添加到另一个表中,同也可以用于同插入多行数据。 例如,可以使用INSERT INTO语句和SELECT子查询来实现子查询插入数据的功能。 具体地说,可以使用以下格式的语句来进行子查询插入数据INSERT INTO 目标表名 (列1, 列2, 列3, ...) SELECT 子查询的列1, 子查询的列2, 子查询的列3, ... FROM 源表名 WHERE 条件; 例如,如果我们有一个目标表为table1,它包含列column1和column2,我们想要将另一个表table2中满足某个条件的数据插入到table1中,可以使用以下语句: INSERT INTO table1 (column1, column2) SELECT column1, column2 FROM table2 WHERE 条件; 这样就可以将满足条件的数据从table2插入到table1中。需要注意的是,插入的列数和类型要与目标表的结构匹配。 另外,还可以使用字段和字符串的拼接函数来进行插入操作。例如,在MySQL中可以使用concat函数来将字段和字符串拼接起来,然后插入到目标表中。 这样的语句格式如下: INSERT INTO 目标表名 (列1, 列2, 列3, ...) SELECT concat('字符串', 字段), 字段, 字段, ... FROM 源表名 WHERE 条件; 总结起来,SQL子查询插入数据的方法可以根据具体的需求选择合适的语句格式,通过SELECT子查询INSERT INTO语句实现数据插入。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [SQL插入数据连表查询利用子查询一次性 insert 多条数据)](https://blog.csdn.net/weixin_43433807/article/details/89395566)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值