`
conkeyn
  • 浏览: 1529142 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

MYSQL中delete删除多表数据

阅读更多

前些时间已经谈过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 4.0.2以上


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zmouki/archive/2009/04/23/4102923.aspx

分享到:
评论

相关推荐

    mysql delete 多表连接删除功能

    总的来说,`DELETE`语句在MySQL中提供了强大的数据清理功能,但使用时需谨慎,尤其是涉及到多表连接删除时,必须全面考虑其可能的影响。通过了解这些知识点,您可以更安全、高效地管理数据库中的数据。

    MySQL执行delete误删除数据恢复

    在MySQL数据库管理中,有时可能会不小心执行了DELETE命令,导致数据丢失。面对这种情况,有多种方法可以帮助恢复误删除的数据。本文将重点介绍如何利用MySQL的二进制日志(binlog)以及my2sql工具来恢复数据。 首先,...

    MySQL DELETE 删除语句加锁分析1

    在MySQL中,DELETE语句的加锁行为是数据库事务处理的重要组成部分,尤其是在并发环境中,正确理解其加锁机制对于避免死锁和提高系统性能至关重要。本篇文章主要探讨了在不同隔离级别下,针对不同索引类型的DELETE...

    mysql 一条语句删除多表数据

    在MySQL数据库管理中,高效地删除多表数据是优化数据库操作的重要方面,特别是在处理大量关联数据时。"mysql 一条语句删除多表" 的主题就是关于如何通过单个SQL语句来删除关联的多个表的数据,从而节省数据库连接...

    MySQL删除表数据 MySQL清空表命令 3种方法

    在MySQL数据库管理中,删除表数据是常见的操作,这可能是为了清理旧数据、测试环境的重置或数据更新。本文将详细介绍三种不同的方法来删除MySQL中的表数据,帮助你更有效地管理数据库。 ### 方法一:TRUNCATE TABLE...

    MySQL Delete From 删除数据.docx

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

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

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

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

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

    mysql数据库实验报告 数据表的操作

    2. 删除数据:使用`DELETE FROM`命令删除满足特定条件的记录。 3. 修改数据:使用`UPDATE`命令更新表中已存在的记录。 五、表联系的创建与修改 1. 多对多关系:在`TMS_student`和`TMS_course`之间创建`TMS_sc`表,...

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

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

    C#操作Mysql创建数据库,数据表,增、删、改数据

    本教程将详细介绍如何使用C#与Mysql进行交互,包括创建数据库、数据表以及执行基本的CRUD(Create、Read、Update、Delete)操作。 首先,我们需要在C#项目中引入Mysql的数据提供者——`MySql.Data.dll`。这个库允许...

    mysql删除数据记录PPT

    在视图中使用`DELETE`语句删除数据时,需要额外注意,因为视图不是实际存储数据的表,而是基于一个或多个表的查询结果。在某些情况下,从视图中删除可能不被允许,或者需要满足特定的条件,如定义了`ON DELETE`规则...

    mysql支持跨表delete删除多表记录

    总之,MySQL的跨表删除功能为数据库管理提供了强大的工具,使得在多表环境中进行数据清理变得更加便捷。然而,这种能力伴随着责任,正确理解和使用跨表删除是保证数据安全的关键。如果你对其他数据库操作(如更新、...

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

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

    mysql中造3千条数据(3种方法)

    MySQL 中造 3000 条数据的三个方法 MySQL 是一种非常流行的关系型数据库管理系统,它提供了多种方式来快速生成大量数据。本文将介绍三种方法来...* 删除表中数据方法:`delete from 表名;` 或 `truncate table 表名;`

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

    当尝试删除一个表而该表包含其他表所依赖的字段时,MySQL会抛出错误1217(23000),提示“Cannot delete or update a parent row: a foreign key constraint fails”。为了解决这个问题,我们可以利用MySQL中的一个...

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

    本节主要介绍了两种删除数据记录的方法,以及一个特殊的情况——从多表中同时删除数据。 首先,从单个表中删除数据记录的语法是`DELETE FROM 表名 [WHERE 条件]`。如果省略了`WHERE`子句,将删除表中的所有行。例如...

    mysql 基本操作 9.删除数据

    DELETE语句用于从MySQL表中删除特定行。基本语法是`DELETE FROM table_name WHERE condition;`。例如,如果你想从名为`employees`的表中删除ID为1的员工记录,你可以使用`DELETE FROM employees WHERE id = 1;`。请...

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

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

    MYSQL删除表中的指定ID数据

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

Global site tag (gtag.js) - Google Analytics