M4_5子查询在复制表、数据的增删改操作中的应用2(2022)j.pptx

M4_5子查询在复制表、数据的增删改操作中的应用2(2022)j.pptx

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

物流数据库技术技能培训子查询在复制表、数据的增删改操作中的应用2主讲人:杨曙

一、插入查询语句的执行结果到现有表在进行数据插入操作时,有时候我们并不知道具体插入到表中的记录的值是什么,只知道满足一定条件的值才能插入进去。此时,我们就可以利用查询语句,将查询的结果按表的字段列表顺序,快速插入到另外一个表中。其中:表名:是已经存在的目标表。SELECT查询语句返回的是一个查询到的结果集,INSERT语句将这个结果集插入指定表中,结果集中的每行数据的字段数、字段的数据类型都必须与被操作的表完全一致。INSERTINTO表名[(字段列表)]SELECT查询语句;语法格式如下:

示例分析【例】若有另外一个表,表名为src,表中字段只有ID、发货地(source)、收货地(dest)、货物名称(goodsName),各字段数据类型与货源表的完全一样。在不知道货源表中原始数据的情况下,想将货源表中的货物类型为普通货物的数据插入到src表中。这该如何实现呢?为了更加容易理解这中间的过程,我们将这个操作步骤进行分解。SELECTID,source,dest,goodsNameFROMsourcegoodsWHEREgoodsType='普通货物';(1)明确要插入的数据是什么?(2)验证查询语句结果是否正确,确定查询结果字段顺序,以方便和“INSERT”语句的字段顺序进行匹配。

示例分析INSERTINTOsrcSELECTID,source,dest,goodsNameFROMsourcegoodsWHEREgoodsType='普通货物';(3)最后在查询语句前面加上INSERTINTO语句。执行结果与查看效果如下:其中需要注意的是:查询语句的字段格式和顺序要与目标表保持一致。

二、插入查询语句的执行结果到新表把查询语句的执行结果,复制到新表,源表的结构和查询的数据都将复制到新表中。SELECTID,source,dest,goodsNameFROMsourcegoodsWHEREgoodsType='普通货物';(1)明确要插入的数据是什么?【例】在不知道货源表中原始数据的情况下,想将货源表中的货物类型为普通货物的数据插入到不存在的新表new中。这该如何实现呢?我们将这个操作步骤进行分解。(2)验证查询语句结果是否正确,确定查询结果字段。

二、插入查询语句的执行结果到新表CREATETABLEnewSELECTID,source,dest,goodsNameFROMsourcegoodsWHEREgoodsType='普通货物';(3)最后在查询语句前面加上CREATETABLE语句。SQL执行语句及结果如下:值得注意的是:new表中的数据是查询语句执行后的数据,new表的结构也与查询语句一致。当where条件不成立时,只复制表结构,没有任务数据集。此操作只会复制表数据和表结构,不会复制任何约束。

二、关联子查询修改数据UPDATE表名1[INNERJOIN|LEFTJOIN]表名2ON表名1.字段1=表名2.字段1SET表名1.字段2=表名2.字段2[,表名2.字段3=表达式]WHERE条件表达式在MySQL中,可以在UPDATE语句中使用JOIN子句执行跨表更新。MySQL的UPDATEJOIN的语法格式如下:UPDATEJOIN语法格式说明:首先,在UPDATE子句之后,指定主表(表名1)和希望跟主表连接的表(表名2)。第二,指定一种要使用的连接,即INNERJOIN或LEFTJOIN和连接条件。JOIN子句必须出现在UPDATE子句之后。第三,要为待更新的表名1和/或表名2中的列分配新值。第四,WHERE子句中的条件用于指定要更新的行。

二、关联子查询修改数据【例】在前面的new表中增加一个货物类型的字段,刚增加的字段内容为空,如果要把货源表中的货物类型全部更新到new表中,我们就可以用UPDATEJOIN语句。我们先来分析一下:首先,主表是更新数据的表,所以是new表,跟主表连接的表就是货源表(sourcegoods)。UPDATEnewINNERJOINsourcegoodsONnew.ID=sourcegoods.ID第二,指定INNERJOIN连接,连接字段是两个表的唯一编号ID。SQL代码如下:

二、关联子查询修改数据SETnew.goodsType=sourcegoods.goodsType第三,要更新的数据是new的货物类型(goodsType)。SQL代码如下:UPDATEnewINNERJOINsourcegoodsONnew.ID=sourcegoods.IDSE

文档评论(0)

vermonth155-2娟 + 关注
实名认证
内容提供者

专注ppt课件

版权声明书
用户编号:8046135067000064

1亿VIP精品文档

相关文档