mysql支援跨表delete刪除多表記錄
前幾天寫了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
第二種跨表刪除的方式是使用inner join在join中指定兩表之間的關聯關係,如下sql語句:
複製程式碼 程式碼如下:
DELETE p.*, pp.*
FROM product p
INNER JOIN productPrice pp
ON p.productId = pp.productId
WHERE p.created
注意:跨表刪除不必刪除所有表的資料,上面的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
跨表刪除很有用,在需要的時候就用它吧。歡迎閱讀另外一篇關於跨表更新的介紹文章
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2618/viewspace-2803988/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 刪除表中重複記錄的DELETE SQLOracledeleteSQL
- mysql表刪除重複記錄方法MySql
- 找回Oracle中Delete刪除的記錄Oracledelete
- 單表的更新UPDATE和刪除記錄DELETE(二十六)delete
- MySQL 多表關聯刪除MySql
- mysql 跨表查詢、更新、刪除示例MySql
- 面試題: 資料庫:delete和trancate刪除表記錄的區別面試題資料庫delete
- mysql刪除一條記錄MySql
- MYSQL資料庫表記錄刪除解決方案MySql資料庫
- sql 多表關聯刪除表資料SQL
- MySQL刪除表重複記錄的三種方法舉例MySql
- MySQL不支援DELETE使用表別名?MySqldelete
- Oracle如何刪除表中重複記錄Oracle
- 查詢刪除表中重複記錄
- Mysql跨表更新 多表update sql語句總結MySql
- oracle delete 分批刪除Oracledelete
- LARGE DELETE快速刪除delete
- Oracle 多表關聯刪除Oracle
- 高效快速刪除Oracle表中重複記錄Oracle
- 用SQL語言刪除表中的記錄SQL
- MYSQL中刪除重複記錄的方法薦MySql
- MySQL刪除資料表MySql
- 處理表重複記錄(查詢和刪除)
- MySQL:簡單記錄刪除binary log的介面MySql
- MySQL刪除重複記錄並保留第一條MySql
- mysql/mariadb學習記錄——建立刪除資料庫、表的基本命令MySql資料庫
- MySQL防止delete命令刪除資料的兩種方法MySqldelete
- [MYSQL][1]建立,修改,刪除表MySql
- MySQL定期自動刪除表MySql
- MySQL批量刪除指定字首表MySql
- SAP ABAP OData 服務如何支援刪除(Delete)操作試讀版delete
- Elasticsearch增刪改查 之 —— Delete刪除Elasticsearchdelete
- 刪除Oracle重複記錄Oracle
- oracle刪除重複記錄Oracle
- 為什麼刪除記錄表檔案不會減小?(記錄的插入與刪除在磁碟上的變化)
- MySQL大表刪除解決方案MySql
- windows10更新記錄刪除_怎樣刪除win10更新歷史記錄WindowsWin10
- 用“稽核物件”功能記錄檔案刪除記錄物件