SQL如何用表A更新表B
文章标题很短,因为问题的描述过于具体,标题就会显得过长。
这个问题更为准确地描述应该是这样:表结构雷同或者有相似字段的两张表A和B,如何用A表的字段数据去更新B表字段的数据?
操作方法:
1 update B
2 set B.clolumn_name = A.cloumn.name
3 from A,B
4 where A.ID = B.ID
实例验证。
俗话说,铁打的营盘流水的兵,政府也一样。政府内阁,会随着领导人的变更而发生变更。
分别创建两个表:cabinet和cabinet_new。
cabinet表的内容是在任美国政府内阁成员信息表。
cabinet_new表的内容是新总统的内阁成员信息表。
创建两个表并插入信息,语句如下:
1 create table cabinet
2 (
3 post VARCHAR(12),
4 name VARCHAR(32)
5 )
6
7 create table cabinet_new
8 (
9 post_new VARCHAR(12),
10 name_new VARCHAR(32)
11 )
12
13 INSERT INTO cabinet
14 VALUES ('总统','奥巴马')
15 INSERT INTO cabinet
16 VALUES ('国务卿','克里')
17 INSERT INTO cabinet
18 VALUES ('国防部长','盖茨')
19 INSERT INTO cabinet
20 VALUES ('财政部长','盖特纳')
21 INSERT INTO cabinet
22 VALUES ('司法部长','霍尔德')
23 INSERT INTO cabinet
24 VALUES ('商务部长','骆家辉')
25 INSERT INTO cabinet
26 VALUES ('能源部长','朱棣文')
27
28 INSERT INTO cabinet_new
29 VALUES('总统','特朗普')
30 INSERT INTO cabinet_new
31 VALUES('国务卿','蒂勒森')
32 INSERT INTO cabinet_new
33 VALUES('国防部长','马蒂斯')
34 INSERT INTO cabinet_new
35 VALUES('财政部长','努钦')
36 INSERT INTO cabinet_new
37 VALUES('司法部长','塞申斯')
38 INSERT INTO cabinet_new
39 VALUES('商务部长','罗斯')
40
41 select * from cabinet
42 select * from cabinet_new
执行结果:

随着奥巴马退职,新总统特朗普也即将上任,相应的,内阁成员也要更换。
对数据表来说,就是将cabinet表中的数据用cabinet_new更新。
根据上述操作方法,编写更新语句并做查询:
1 update cabinet
2 set cabinet.name = cabinet_new.name_new
3 from cabinet,cabinet_new
4 where cabinet.post = cabinet_new.post_new
5
6 select * from cabinet
7 select * from cabinet_new
执行结果:

有执行结果可以知道,更新成功,操作方法可行。
SQL如何用表A更新表B的更多相关文章
- sql server 跨IP库更新表字段(OPENDATASOURCE 、update)
--跨ip库更新表字段 update uat set goodsType=dev.goodsType from OPENDATASOURCE('SQLOLEDB','Data Source=127.0 ...
- MySQL创建表,更新表,删除表,重命名表
创建表 mysql> create table 表名( -> 列名 数据类型 是否为空 auto_increment, -> 列名 数据类型 是否为空... -> ... -& ...
- 根据多表条件更新表.............. 一条sql语句.............
CREATE TABLE a( NAME INT, age int ); CREATE TABLE b( height INT, weight int ); ,); ,); SELECT * FROM ...
- Activiti+oracle 启动项目时不能自动建表或更新表的问题分析及解决办法
现象描述:按照正常配置,第一次启动时不能自动建表 关键配置片段如下: <bean id="processEngineConfiguration" class="or ...
- db2重组所有表和更新表统计信息
1.构建db2admin模式下的所有表的重组语句: select ' reorg table '||TABLE_NAME||';' from sysibm.tables where TABLE_SC ...
- SqlServer 循环建表、删除表、更新表
常用于分库分表 1.批量删除 declare @outter int declare @inner int ) ) ) begin set @tablePrefix='BankPayOrder_'+c ...
- SQL 将2张不相关的表拼接成2列,批量更新至另一张表
update SO_Master set LotteryNo=t2.LotteryNo,UpdateTime=GETDATE() --select sm.LotteryNo,sm.SysNo,t2.L ...
- Oracle\MS SQL Server Update多表关联更新
原文:Oracle\MS SQL Server Update多表关联更新 一条Update更新语句是不能更新多张表的,除非使用触发器隐含更新.而表的更新操作中,在很多情况下需要在表达式中引用要更新的表 ...
- SQL Server中的Merge关键字 更新表数据
简介 Merge关键字是一个神奇的DML关键字.它在SQL Server 2008被引入,它能将Insert,Update,Delete简单的并为一句.MSDN对于Merge的解释非常的短小精悍:”根 ...
随机推荐
- Java/C++实现迭代器模式---学生信息
信1305班共44名同学,每名同学都有姓名,学号和年龄等属性,分别使用JAVA内置迭代器和C++中标准模板库(STL)实现对同学信息的遍历,要求按照学号从小到大和从大到小两种次序输出学生信息. Jav ...
- linux安装mongodb磁盘空间不足
Insufficient free space for journal filesPlease make at least 3379MB available in /export/servers/mo ...
- 制作Unity中的单位血条
本文章用于记录Unity的学习过程,如有疑问,欢迎交流. 1.血条的显示 在Unity场景中创建空物体,然后新建两个Image(图片),当然只用一个也行,一个作为填充来显示血量,一个作为血条的外框. ...
- Python数据展示 - 生成表格图片
前言 前一篇文章介绍了推送信息到企业微信群里,其中一个项目推送的信息是使用Python自动生成的表格,本文来讲讲如何用Python生成表格图片. 选一个合适库 Python最大的优点就是第三方库丰富, ...
- C++五子棋(三)——判断鼠标有效点击
分析 在鼠标左键点击时,我们不能让新棋子在已有棋子的位置落下,同时我们还要让棋子在规定位置落下--棋盘线的交点处. 功能实现 创建数据类型 创建头文件chessData.h和源文件chessData. ...
- Zookeeper启动问题记录——ZooKeeper audit is enabled.
问题原因是Zookeeper的日志服务默认关闭,在zoo.cfg文件中添加 audit.enable=true 保存后重启服务就能够正常启动. 另外,这个只影响Zookeeper的日志记录,不影响其他 ...
- rabbitmq简单运用
<?php /** * 生产者 */ $connection = new AMQPConnection([ 'host' => '192.168.23.130', 'port' => ...
- css 实现随风摆动
无标题文档 @-webkit-keyframes open { 0% { -webkit-transform: rotateX(-120deg); } 25% { -webkit-transform: ...
- Spring 源码 (2)Spring IOC 容器 前戏准备工作
Spring 最重要的方法refresh方法 根据上一篇文章 https://www.cnblogs.com/redwinter/p/16141285.html Spring Bean IOC 的创建 ...
- 基于深度学习的人脸性别识别系统(含UI界面,Python代码)
摘要:人脸性别识别是人脸识别领域的一个热门方向,本文详细介绍基于深度学习的人脸性别识别系统,在介绍算法原理的同时,给出Python的实现代码以及PyQt的UI界面.在界面中可以选择人脸图片.视频进行检 ...