Mysql多表删除的实现

数据库 MySQL
在使用Mysql数据库的过程中,如果需要联合多表同时删除操作,应该如何实现呢?下面就为您介绍实现该功能的方法,供您参考。

Mysql多表删除方法是我们经常需要使用到的,具有很高的使用价值,下面就为您详述该方法的实现过程,希望对您能够有所帮助。

Mysql多表删除:

***个多表删除格式从 MySQL 4.0.0 开始被支持。第二个多表删除格式从 MySQL 4.0.2 开始被支持。

仅仅在 FROM 或 USING 子句 之前 列出的表中的匹配记录行被删除。效果就是,你要以从多个表中同时删除记录行,并且同样可以有其它的表用于检索。

在表名后的 .* 仅仅是为了兼容 Access:

DELETE t1,t2 FROM t1,t2,t3 WHERE t1.id=t2.id AND t2.id=t3.id

or

DELETE FROM t1,t2 USING t1,t2,t3 WHERE t1.id=t2.id AND t2.id=t3.id

在上面的情况下,我们仅仅从 t1 和 t2 表中删除匹配的记录行。

如果一个 ORDER BY 子句被使用(从 MySQL 4.0.0 开始支持), 记录行将以指定的次序删除。这实际上只有连同 LIMIT 一起才有用。示例如下:

DELETE FROM somelog
WHERE user = 'jcole'
ORDER BY timestamp
LIMIT 1

这将删除匹配 WHERE 子句的,并且最早被插入(通过 timestamp 来确定)的记录行。

DELETE 语句的LIMIT rows 选项是 MySQL 特有的,它告诉服务器在控制权被返回到客户端之前可被删除的***记录行数目。这可以用来确保一个特定的 DELETE 命令不会占用太长的时间。你可以简单地重复使用 DELETE 命令,直到被影响的记录行数目小于 LIMIT 值。

从 MySQL 4.0 开始,在 DELETE 语句中可以指定多个表,用以从一个表中删除依赖于多表中的特殊情况的记录行。然而,在一个Mysql多表删除中,不能使用 ORDER BY 或 LIMIT。
 

 

【编辑推荐】

MySQL单表大小的限制

Linux环境下安装MySql数据库的方法

MySQL Show语句用法介绍

MySQL创建关联表的方法

Mysql建表实例

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

2010-11-23 14:40:04

MySQL多表删除

2010-11-22 15:34:17

MySQL多表更新

2010-09-13 09:23:28

SQL中多表删除

2010-11-22 15:56:34

Mysql多表查询

2010-10-14 14:28:03

Mysql多表查询

2010-11-23 16:35:59

MySQL删除多表数据

2010-10-14 14:33:15

MySQL多表联查

2010-11-22 16:05:53

MySQL多表插入

2023-11-14 09:08:12

MySQL多表关联

2010-11-22 16:12:54

MySQL多表更新

2010-11-23 11:44:10

MySQL多表联合查询

2010-10-22 17:33:02

2022-04-01 11:14:48

MySQLJava索引

2012-07-06 09:00:34

MySQL

2022-03-04 12:09:25

SQL数据量多表查询

2010-09-17 10:39:36

SQL中

2009-09-14 10:29:02

LINQ删除记录

2010-11-10 11:47:35

SQL Server级

2010-10-08 11:52:29

2010-06-02 15:07:22

MySQL 用户
点赞
收藏

51CTO技术栈公众号