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

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

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

物流数据库技术技能培训子查询在复制表、数据的增删改操作中的应用1主讲人:杨曙三、删除与其他表有关联的数据下面例题中用到的tab1,tab2,tab3三个表,都有一个相同的字段id,三个表通过id字段进行关联。1.关联删除单个表中的数据关联删除单个表中的数据,是通过关联的两个数据表,删除其中一个表的数据。【例1】从MySQL数据表tab1中,把那些id值在数据表tab2中有匹配的记录,全删除掉。SQL执行代码与结果如下:DELETEtab1FROMtab1,tab2WHEREtab1.id=tab2.id;三、删除与其他表有关联的数据【例2】查找并删除,在MySQL数据表tab1中有,而在数据表tab2中没有匹配的记录。DELETEtab1FROMtab1LEFTJOINtab2ONtab1.id=tab2.idWHEREtab2.idISNULL;删除一个表的数据,用子查询方式也可以实现,大家可以自由选择。三、删除与其他表有关联的数据2.关联删除两个表的数据从两个表中找出相同记录的数据,并删除两个表中的数据。【例】删除tab1和tab2两表中的id字段都是5的记录。分析过程如下:(1)删除哪个表的数据?结论:tab1,tab2。(2)确定删除数据要用到哪些表?结论:tab1,tab2。(3)满足什么样的条件?结论:id字段都是5的记录。(4)有没有隐藏的条件?结论:查询涉及到两个表,所以需要先将两个表连接起来分析清楚了,再将它们整合形成完整的SQL语句。三、删除与其他表有关联的数据DELETEtab1,tab2fromtab1LEFTJOINtab2ONtab1.id=tab2.idWHEREtab1.id=5;或者这样写语句也可以实现:DELETEa,bFROMtab1aINNERJOINtab2bONa.id=b.idWHEREa.id=5;亦或者这样写语句也可以实现:DELETEa,bFROMtab1a,tab2bWHEREa.id=b.idANDa.id=5;执行这三条语句,返回删除的信息都2条记录,而这两条记录是汇总了两个表的数量。三、删除与其他表有关联的数据注意:用“DELETE”语句删除数据操作,如果在两个表之间建立了级联删除关系,则删除一个表的数据时,同时删除另一个表中相关的数据。三、删除与其他表有关联的数据3.关联删除三个表的数据从三个表中找出相同记录的数据,并删除三个表中的数据。【例】同时删除tab1,tab2和tab3三个表中,id字段为20的记录。SQL执行代码与结果如下:DELETEa,b,cFROMtab1aINNERJOINtab2bONa.id=b.idINNERJOINtab3cONa.id=c.idWHEREa.id=20;注意:如果a表里数据,而b表或者c表里没数据,那么整个删除就失败,即删除0条数据。三、删除与其他表有关联的数据3.关联删除三个表的数据如果你的主表一定有数据,而关联的表有可能有数据,也有可能没数据的话,我们可以通过左连接删除的方式,把多张表都删除。无论关联的表有没有数据,主表都可以删除成功。修改后的SQL执行代码如下:DELETEa,b,cFROMtab1aLEFTJOINtab2bONa.id=b.idLEFTJOINtab3cONa.id=c.idWHEREa.id=20;注意:对于一个信息系统来说,删除数据的操作非常危险,需要谨慎操作,在删除前最好的办法是先备份数据,再做删除操作。感谢您的观看物流数据库技术技能培训主讲人:杨曙

文档评论(0)

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

专注ppt课件

版权声明书
用户编号:8046135067000064

1亿VIP精品文档

相关文档