`

Mysql跨表删除总结

阅读更多

前几天写了Mysql跨表更新的一篇总结,今天我们看下跨表删除。

 

在Mysql4.0之后,mysql开始支持跨表delete。

 

Mysql可以在一个sql语句中同时删除多表记录,也可以根据多个表之间的关系来删除某一个表中的记录。

 

假定我们有两张表:Product表和ProductPrice表。前者存在Product的基本信息,后者存在Product的价格。

 

第一种跨表删除的方式是不用join,在delete时指定用半角逗号分隔多个表来删除,如下sql语句:

 

DELETE p.*, pp.*
FROM product p, productPrice pp
WHERE p.productId = pp.productId
AND p.created < '2004-01-01'
 

第二种跨表删除的方式是使用inner join在join中指定两表之间的关联关系,如下sql语句:

 

DELETE p.*, pp.*
FROM product p
INNER JOIN productPrice pp
ON p.productId = pp.productId
WHERE p.created < '2004-01-01'
 

注意,跨表删除不必删除所有表的数据,上面的sql语句表会同时删除Product和ProductPrice两张表中的数据,但是你可以指定 DELETE product.*从而只删除product表中的记录,而不处理ProductPrice表中的记录。

 

跨表删除也可以使用left join,例如我们要删除所有在ProductPrice表中没有记录的Product表记录。如下sql语句:

 

DELETE p.*
FROM product p
LEFT JOIN productPrice pp
ON p.productId = pp.productId
WHERE pp.productId is null
 

跨表删除很有用,在需要的时候就用它吧。欢迎阅读另外一篇关于跨表更新的介绍文章

 

本文为本人原创,同步发布到:http://outofmemory.cn/code-snippet/1385/Mysql-kuabiao-delete-summary

0
1
分享到:
评论

相关推荐

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

    前几天写了Mysql跨表更新的一篇总结,今天我们看下跨表删除。 在Mysql4.0之后,mysql开始支持跨表delete。 Mysql可以在一个sql语句中同时删除多表记录,也可以根据多个表之间的关系来删除某一个表中的记录。 假定...

    最新Python3.5零基础+高级+完整项目(28周全)培训视频学习资料

    一对多跨表操作 一对多块表操作的的三种方式 增加一对多数据示例 初识Ajax Ajax内容基本整理 编辑一对多示例 创建多对多以及增加示例 本节内容梳理 本周作业 第21周 今日知识点概要 上节内容回顾以及URL的补充 ...

    随缘网络php企业网站管理系统 v2.0.rar

    系统中难免有些小问题,希望大家在使用中有什么问题可到本站论坛提出,我们将总结各问题后给予修正并升级。本站再次声明对于免费版系列系统本站不提供QQ电话等技术咨询服务,有什么问题请到论坛提出。 以下为系统...

    随缘网络PHP留言板(带审核功能) v1.0 build 091017.rar

    初发布,系统中难免有些小问题,希望大家在使用中有什么问题可到本站留言提出,我们将总结各问题后给予修正并升级。 以下为系统的功能简介: 1、采用div css布局经测试兼容IE及firefox主流浏览器,其他浏览器暂未...

    BageCMS系统最新官方版

    特有的管理员权限管理机制,可以灵活设置管理员的栏目管理权限、网站信息的添加、修改、删除权限等 系统运行环境: 数据库: mysql5+ PHP版本:php5.2.+ 服务器:linux,unix,freebsd等 演示地址:...

    asp.net知识库

    清除网页历史记录,屏蔽后退按钮! 如何传值在2个页面之间 :要求不刷新父页面,并且不能用Querystring传值 Asp.net地址转义(分析)加强版 Web的桌面提醒(Popup) Using the Popup Object Click button only once ...

    容器编排k8s培训视频.zip

    26找镜像下载镜像删除镜食m 27配置镜像加速器mp4 28镜像导出与导入方法mp4 29镜像仓库分美公网仓库创建与量作演示,mp4 30habo个绍hbo安装过程1.mp4 31 harbor安装过程2.mp4 32hbor上传下载mp4 33镜像小结imP4 34...

    高校顶岗实习管理系统

    适用操作系统:跨平台 开发语言:Java/Jsp 数据库类型:Mysql 是否加密:无加密 软件大小(多少M)直接填写:30M 最新版本号(直接填写):1.5 开发商类型:团队 演示di址:http://www.51code.tk/dgsx/ 技术支持QQ:...

    二十三种设计模式【PDF版】

    于你能容易地添加/删除属性”等。一旦懂得了模式,许多设计决策自然而然就产生了。 我们都知道设计经验的重要价值。你曾经多少次有过这种感觉—你已经解决过了一个问题但就是不能确切知道是在什么地 方或怎么解决的...

    spring security 参考手册中文版

    10.1.1成功认证时清除证书 91 10.1.2 DaoAuthenticationProvider 91 10.2 UserDetailsService实现 92 10.2.1内存认证 92 10.2.2 JdbcDaoImpl 93 权威组织 94 10.3密码编码 94 10.3.1什么是散列? 95 10.3.2添加盐到...

Global site tag (gtag.js) - Google Analytics