码迷,mamicode.com
首页 > 数据库 > 详细

Mysql中多表删除

时间:2019-01-09 15:02:17      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:png   没有   多表删除   com   alt   inf   多表   null   image   

1、从MySQL数据表A中把那些id值在数据表B里有匹配的记录全删除掉

  DELETE t2 FROM A t1,B t2 WHERE t1.id = t2.id

  DELETE FROM t2 USING A t1,B t2 WHERE t1.id = t2.id

  技术分享图片

  【USING 的用法:

    using()用于两张表的join查询,要求using()指定的列在两个表中均存在,并使用之用于join的条件。

    例如:SELECT * FROM A t1 LEFT JOIN B t2 USING(id)

       等同于:SELECT * FROM At1 LEFT JOIN B t2 ON t1.id = t2.Id

  】

 

2、 从MySQL数据表A里在数据表B里没有匹配的记录查找出来并删除掉

  DELETE t1 FROM A t1 LEFT JOIN B t2 ON t1.id = t2.id WHERE t2.id IS NULL

  DELETE FROM t1 USING At1 LEFT JOIN B t2 ON t1.id = t2.id WHERE t2.id IS NULL

    【被删除数据的表选择如上】

3、从两个表中找出相同记录的数据并把两个表中的数据都删除掉

  DELETE t1,t2 FROM A t1 LEFT JOIN B t2 ON t1.Id = t2.id where t1.Id = 2      【适用Mysql 5.0以上版本】

  【加WHERE条件则删除满足WHERE条件的两个表数据。

    不加WHERE,则基表数据会全部被删除,连接表中和基表相同的数据全部被删除】

 

Mysql中多表删除

标签:png   没有   多表删除   com   alt   inf   多表   null   image   

原文地址:https://www.cnblogs.com/yangzc-7/p/10244165.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!