189 8069 5689

mysql怎么删除两张表 mysql两张表关联删除

mysql怎么删除两张有关联的表的数据

DELETE删除多表数据,怎样才能同时删除多个关联表的数据呢?这里做了深入的解释:

创新互联建站主营井冈山网站建设的网络公司,主营网站建设方案,App定制开发,井冈山h5小程序定制开发搭建,井冈山网站营销推广欢迎井冈山等地区企业咨询

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里有匹配的记录全删除 掉1 DELETE t1 FROM t1,t2 WHERE t1.id=t2.id 或 DELETE FROM t1 USING t1,t2 WHERE t1.id=t2.id

2、从数据表t1里在数据表t2里没有匹配的记录查找出来并删除掉1 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、 从两个表中找出相同记录的数据并把两个表中的数据都删除掉1 DELETE t1,t2 from t1 LEFT JOIN t2 ON t1.id=t2.id WHERE t1.id=25

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

如:1 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中是可以的)

上述语句改 写成1 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同时删除两个表中的数据问题见详细

你如果在表的定义语句中使用了ON DELETE CASCADE对子表(既B表)进行了修饰,那么删A表的该条数据时会自动删除B表的对应关联数据,这个叫级联删除,建议在定义外键的时候都予以考虑,为了日后的处理方便,相应的还有ON UPDATE CASCADE,这个是用于在更新主表的同时能够自动更行子表。不然的话就只能先删B表的数据再删A表的,因为如果先删A表的数据会因为有外键约束而删除失败的,希望能帮到你。

mysql 2表删除问题

删除

DELETE tableA,tableB FROM tableA LEFT JOIN tableB ON tableA.id = tableB.id WHERE tableA.type='要处理的type' AND count(tableA.type)=100 group by tableA.id;

查询就把delect改成select

例:

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

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 4.0.2以上

如何从MYSQL数据库中删除表

1. 用您的会员名登录无忧空间站,左侧控制面板点击“自助管理”-“数据库”,选择您的数据库点“管理”,点击“高级管理”

2. 出现MYSQL高级管理登录框,用您的数据库用户名,密码登录,在登陆时,需要根据您的数据库编码选择对应的语言,一般可以选择“Chinese Simplified (zh-utf-8)”和“Chinese Simplified (zh-gb2312)”,根据你的MYSQL数据库编码来确定。

3. 登陆MYSQL管理器后,左侧点击你的数据库名字,右侧会出现该数据库下所有数据表。

4. 在每行数据表右侧有一个红色的“叉”按钮,即可删除当前的表。

 5. 要删除多个表,勾选每个表,点最底部的删除按钮。


当前名称:mysql怎么删除两张表 mysql两张表关联删除
网站地址:http://jkwzsj.com/article/hjgocg.html

其他资讯