深入研究MySQL删除多表数据

数据库 MySQL
删除多表数据是我们在使用MySQL数据库时经常会遇到的问题,下文就对MySQL删除多表数据问题进行深入分析,供您参考。

MySQL删除多表数据问题大家都谈的比较多了,下面就对MySQL删除多表数据作深入的分析讨论,希望对您学习MySQL删除多表数据方面能有所启迪。

1、delete from t1 where 条件

2、delete t1 from t1 where 条件

3、delete t1 from t1,t2 where 条件

4、delete t1,t2 from t1,t2 where 条件

前3者是可行的,第4者不可行。

也就是简单用delete语句无法进行多表删除数据操作,不过可以建立级联删除,在两个表之间建立级联删除关系,则可以实现删除一个表的数据时,同时删除另一个表中相关的数据。

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

DELETE t1 FROM t1,t2 WHERE t1.id=t2.id    或DELETE FROM t1 USING t1,t2 WHERE t1.id=t2.id

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

DELETE t1 FROM t1 LEFT JOIN T2 ON t1.id=t2.id WHERE t2.id IS NULL 或

DELETE FROM t1,USING t1 LEFT JOIN T2 ON t1.id=t2.id WHERE t2.id IS NULL

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

DELETE t1,t2 from t1 LEFT JOIN t2 ON t1.id=t2.id WHERE t1.id=25

注意此处的delete t1,t2 from 中的t1,t2不能是别名

如:delete t1,t2 from table_name as t1 left join table2_name as t2 on t1.id=t2.id where table_name.id=25 在数据里面执行是错误的(MYSQL 版本不小于5.0在5.0中是可以的)

上述语句改写成

delete table_name,table2_name from table_name as t1 left join table2_name as t2 on t1.id=t2.id where table_name.id=25 在数据里面执行是错误的(MYSQL 版本小于5.0在5.0中是可以的)

 

 

【编辑推荐】

多个MySQL表结果集组合

MySQL分表处理的实现方法

MySQL授权表使用示例

MySQL多表删除的实现

MySQL独立表空间的优缺点

 

责任编辑:段燃 来源: 互联网
相关推荐

2011-12-15 10:43:20

JavaNIO

2010-05-31 17:45:50

MySQL行锁

2010-11-26 11:57:35

MySQL结果字符串

2011-06-01 10:58:54

Android Service

2022-05-11 09:03:05

CSS容器文本换行

2010-05-19 14:45:46

2018-12-24 15:00:58

混合云多云云采用

2010-11-18 17:24:27

Oracle旋转ins

2010-06-21 13:07:14

2009-10-20 10:17:50

综合布线系统验收

2022-04-19 08:28:34

main函数

2016-01-12 18:04:55

Java异常研究

2017-06-06 11:29:23

Java异常研究与分析

2010-08-26 15:48:21

DB2优化数据库

2023-11-03 08:25:28

数据结构Java

2013-01-07 13:38:56

Android开发布局长度单位

2009-12-08 18:45:17

PHP检查函数可用

2021-05-25 09:00:00

Kubernetes容器集群

2009-11-11 13:49:02

路由器技术

2023-11-27 18:17:19

点赞
收藏

51CTO技术栈公众号