当前位置: 首页 > news >正文

表复制某些字段的操作sql

一。 把 一个表中的某些字段复制到另一个表中

         直接插入值

INSERT INTO 表名 (列1, 列2, 列3, ...)
VALUES (值1, 值2, 值3, ...);

         表之间的插入

insert into sys_user_permission(userId,nickName,status)
select userId,nickname,status from sys_user
where not exists(select 1 from sys_user_permission pwhere p.userId = sys_user.userId
);

        where后面的意思是,当两个表经过筛选后,只插入第一条。也就是userId唯一

二、在一的基础上,我发现漏了一个字段,我想复制deptId字段

      1.更新不插入新纪录

update p set p.deptId = u.deptId from sys_user_permission p
join sys_user u on p.userId = u.userIdJOIN 的原因是:让数据库“把两张表按某个条件拼到一起”,这样才能拿到另一张表的字段值来
把 sys_user 和 sys_user_permission 按 userId 拼在一起,这样我就能用 sys_user.deptId 去更新 sys_user_permission.deptId。

  2.更新并插入新纪录

MERGE sys_user_permission AS target
USING sys_user AS src
ON target.userId = src.userIdWHEN MATCHED THENUPDATE SETtarget.deptId   = src.deptId,target.nickname = src.nicknameWHEN NOT MATCHED THENINSERT (userId, nickname, deptId)VALUES (src.userId, src.nickname, src.deptId);

http://www.dtcms.com/a/357420.html

相关文章:

  • 深入探讨可视化技术如何实现安全监测
  • 13 SQL进阶-InnoDB引擎(8.23)
  • nginx.conf配置详解
  • DNS域名系统
  • 【Java基础|第三十篇】File流
  • ClickHouse 客户端
  • 【3D入门-指标篇上】3D 网格重建评估指标详解与通俗比喻
  • 【LeetCode】动态规划——72.编辑距离、10.正则表达式匹配
  • Springboot高校迎新系统2cbcd(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • 独角数卡对接蓝鲸支付平台实现个人发卡
  • CS144 lab3 tcp_sender
  • Day16(前端:JavaScript基础阶段)
  • Pycharm打包PaddleOCR过程及问题解决方法
  • Go语言-->if判断中的;
  • SOME/IP-SD协议中组播IP地址和端口号应从何处获取、由谁设置?
  • 嵌入式Linux字符设备驱动开发
  • LFI-labs靶场通关教程
  • 串口通信1.0(串行并行)
  • 解决多种类潮湿敏感元器件的多温度、多时长的排潮烘干
  • 订餐后台项目-day02数据库模型定义笔记
  • DAY16-新世纪DL(DeepLearning/深度学习)战士:Q(机器学习策略)1
  • Go语言入门(13)-map
  • 科学融智学引领人机协同教育新范式
  • 吴恩达机器学习作业七:方差与偏差
  • 【上位机数据转换】数据结构原理及大小端
  • 《WINDOWS 环境下32位汇编语言程序设计》第8章 通用对话框
  • ssh端口转发的几种常用使用方式【本地端口转发、远程端口转发、反向端口转发、动态端口转发】
  • Jenkins 全方位指南:安装、配置、部署与实战应用(含图解)
  • Two-Twer模型做歌曲智能推荐与规则算法对比的优缺点分析
  • 对比rerank模型和embedding模型