欢迎来到代码驿站!

Mysql

当前位置:首页 > 数据库 > Mysql

mysql delete 多表连接删除功能

时间:2021-06-08 07:43:00|栏目:Mysql|点击:

单个表的删除:

DELETE FROM tableName WHERE columnName = value;
删除表内的所有行:
即:保留表的结构、属性、索引
DELETE FROM tablename;
DELETE * FROM tablename;

删除同一张表内的所有内容(删除数据、表结构)

TRUNCATE customer;

无法报告删除了几行,且只能用于单一表

多表连接删除:

DELETE orders,itrms FROM orders,items 
  WHERE orders.userid = items.userid
  AND orders.orderid = items.orderid
  AND orders.date<"2000/03/01"; 

需要删除的表的名称列在DELETE之后,连接条件所用的表列在FROM之后

假设删除BV地区的所有葡萄酒场,但不删除地名

DELETE winery FROM region,winery 
  WHERE winery.regionid = region.regionid
  AND region.regionname = 'BV';

查询只影响winery表,但同时利用winery,region找出需要删除的记录

使用高级连接查询

DELETE orders,items FROM orders
  INNER JOIN otems ON orders.orderid = items.orderid
  AND orders.userid = items.userid
  WHERE orders.date<"2000/03/01";  

也可在DELETE语句中使用嵌套查询(内部查询不可引用删除的数据)、GROUP BY、HAVING;

也可在单一表查询中使用ORDER BY,单数除非与LIMIT连用删除部分数据行,否则并无太大意义。

加quick修饰符,可快速删除索引项,加速大量或者频繁的删除操作

DELETE QUICK FROM customer WHERE userid<10;

只可用于类型为MyISAM的表

清理MyISAM的表

OPTIMIZE TABLE customer;

上一篇:简单了解添加mysql索引的3条原则

栏    目:Mysql

下一篇:Mysql 1864 主从错误解决方法

本文标题:mysql delete 多表连接删除功能

本文地址:http://www.codeinn.net/misctech/137409.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有