`
shiqidide
  • 浏览: 64429 次
文章分类
社区版块
存档分类
最新评论

MYSQL中delete删除多表数据

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

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执行delete误删除数据恢复

    当误执行了 DELETE 命令删除了数据后,可以考虑以下方法进行数据恢复: 立即停止对数据库的写入操作:一旦发现误删,应立即停止对数据库的写入操作,以免新的数据覆盖被删除的数据。 使用备份:如果你有数据库备份...

    mysql delete 多表连接删除功能

    单个表的删除: DELETE FROM tableName WHERE columnName = value; 删除表内的所有行: ...多表连接删除: DELETE orders,itrms FROM orders,items WHERE orders.userid = items.userid AND orders.orderid = i

    MySQL Delete From 删除数据.docx

    MySQL Delete From 语句用于删除数据表中的记录,DELETE 语句的基本语法为:`DELETE FROM tb_name WHERE definition`,其中 `tb_name` 是要删除记录的表名,`definition` 是删除记录的条件。如果省略 `WHERE` 条件,...

    MySQL防止delete命令删除数据的两种方法

    方法一我常用的做法,就是在数据库中加一个删除标识字段,如: isdel=1 这样就代码... 您可能感兴趣的文章:mysql之delete删除记录后数据库大小不变mysql 删除操作(delete+TRUNCATE)mysql支持跨表delete删除多表记录MyS

    实验训练1 在MySQL中创建数据库和表.docx

    "MySQL数据库创建和表创建" 本教程将指导您在MySQL中创建数据库和表,首先需要安装...* DELETE:删除数据 本教程指导您在MySQL中创建数据库和表,了解MySQL的安装和配置过程,并学习了基本的SQL语句和数据表的设计。

    国家开放大学 MySQL数据库应用 实验训练3 数据增删改操作

    MySQL数据库应用实验训练3 数据增删改操作 ...* 了解单记录插入与批量插入、Delete 与 TRUNCATE TABLE 语句、单表修改与多表修改的区别 实验内容: * 实验 3-1:插入数据 * 实验 3-2:删除数据 * 实验 3-3:修改数据

    mysql删除数据记录PPT

    数据操纵语言包括INSERT、UPDATE和DELETE。DELETE语句主要是用来执行数据的删除操作。使用DELETE语句既可以删除满足条件的数据,也可以使用...这一章就主要介绍如何使用DELETE语句在数据表和视图中删除数据记录的方法。

    MySQL删除表操作实现(delete、truncate、drop的区别)

    本文主要讲mysql中三种删除表的操作,delete语句、truncate语句以及drop语句的区别: 简介 delete 1、删除整张表的数据: delete from table_name; 2、删除部分数据,添加where子句: delete from table_name ...

    2023年,MySQL最新最详细的教程资源 详细讲解了MySQL的各种用法

    MySQL 删除数据表 MySQL 插入数据 MySQL 查询数据 MySQL WHERE 子句 MySQL UPDATE 更新 MySQL DELETE 语句 MySQL LIKE 子句 MySQL UNION MySQL 排序 MySQL 分组 MySQL 连接的使用 MySQL NULL 值处理 MySQL 正则...

    Mysql删除数据以及数据表的方法实例

    在Mysql 中删除数据以及数据表非常的容易,但是需要特别小心,因为一旦删除所有数据都会消失。 删除数据 删除表内数据,使用delete关键字。 删除指定条件的数据 删除用户表内id 为1 的用户: delete from User ...

    MYSQL删除表中的指定ID数据

    完全卸载mysql(停止服务、卸载相关程序、删除注册表mysql表的清空、删除和修改操作详解mysql支持跨表delete删除多表记录MySQL删除表数据的方法MySQL实现快速删除所有表而不删除数据库的方法mysql使用教程之分区表的...

    MySQL删除表的时候忽略外键约束的简单实现

    删除表不是特别常用,特别是对于存在外键关联的表,删除更得小心。...这是因为你尝试删除的表中的字段被用作了其他表的外键,因此在删除这个表(父表)之前必须先删除具有外键的表(子表)。也就是说,

    MySQL删除表数据的方法

    在MySQL中有两种方法可以删除数据,一种是DELETE语句,另一种是TRUNCATE TABLE语句。DELETE语句可以通过WHERE对要删除的记录进行选择。而使用TRUNCATE TABLE将删除表中的所有记录。因此,DELETE语句更灵活。  如果...

    MySQL DML - 更新和删除数据.md

    通过文档,您可以学习如何使用`UPDATE`语句更新表中的数据,以及如何使用`DELETE`语句删除表中的数据。 示例代码演示了更新单行和多行数据的方法,以及删除符合条件的数据和删除表中的所有数据的方法。每个示例都...

    MySQL数据库:数据记录的删除.pptx

    使用DELETE语句删除多表数据 从多个表中删除行,语法格式: DELETE 表名1[.*] [,表名2 [.*] ...] FROM 表名列表 [WHERE 条件] 或: DELETE FROM 表名1 [.*] [,表名2 [.*] ...] USING 表名列表 [WHERE条件] ; 【例】 ...

    删除mysql数据表如何操作

    MySQL中删除数据表是非常容易操作的, 但是你再进行删除表操作时要非常小心,因为执行删除命令后所有数据都会消失。 语法 以下为删除MySQL数据表的通用语法: DROP TABLE table_name ; 在命令提示窗口中删除数据表 ...

    mysql实验三数据表的基本操作.docx

    本文档旨在介绍 MySQL 实验三数据表的基本操作,涵盖创建和修改表结构、插入、更新和删除表数据等基本操作。以下是实验报告的总结: 创建表结构 创建表结构是数据库设计的第一步。MySQL 提供了多种方式来创建表...

    mysql之delete删除记录后数据库大小不变

    如果已经删除了表数据的很大一部分,或者有很多变化和变长表行(VARCHAR表,VARBINARY、BLOB或文本列)进行了更改,因为删除操作后在数据文件中留下碎片所致。DELETE只是将数据标识位删除,并没有整理数据文件,当插入...

Global site tag (gtag.js) - Google Analytics