欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql支持跨表delete刪除多表記錄

 更新時(shí)間:2012年12月16日 15:20:56   作者:  
Mysql可以在一個(gè)sql語句中同時(shí)刪除多表記錄,也可以根據(jù)多個(gè)表之間的關(guān)系來刪除某一個(gè)表中的記錄
前幾天寫了Mysql跨表更新的一篇總結(jié),今天我們看下跨表刪除。
在Mysql4.0之后,mysql開始支持跨表delete。
Mysql可以在一個(gè)sql語句中同時(shí)刪除多表記錄,也可以根據(jù)多個(gè)表之間的關(guān)系來刪除某一個(gè)表中的記錄。
假定我們有兩張表:Product表和ProductPrice表。前者存在Product的基本信息,后者存在Product的價(jià)格。
第一種跨表刪除的方式是不用join,在delete時(shí)指定用半角逗號(hào)分隔多個(gè)表來刪除,如下sql語句:
復(fù)制代碼 代碼如下:

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

第二種跨表刪除的方式是使用inner join在join中指定兩表之間的關(guān)聯(lián)關(guān)系,如下sql語句:
復(fù)制代碼 代碼如下:

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

注意:跨表刪除不必刪除所有表的數(shù)據(jù),上面的sql語句表會(huì)同時(shí)刪除Product和ProductPrice兩張表中的數(shù)據(jù),但是你可以指定 DELETE product.*從而只刪除product表中的記錄,而不處理ProductPrice表中的記錄。

跨表刪除也可以使用left join,例如我們要?jiǎng)h除所有在ProductPrice表中沒有記錄的Product表記錄。如下sql語句:
復(fù)制代碼 代碼如下:

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

跨表刪除很有用,在需要的時(shí)候就用它吧。歡迎閱讀另外一篇關(guān)于跨表更新的介紹文章

相關(guān)文章

  • MYSQL 隨機(jī) 抽取實(shí)現(xiàn)方法及效率分析

    MYSQL 隨機(jī) 抽取實(shí)現(xiàn)方法及效率分析

    MYSQL的隨機(jī)抽取實(shí)現(xiàn)方法。舉個(gè)例子,要從tablename表中隨機(jī)提取一條記錄,大家一般的寫法就是:SELECT * FROM tablename ORDER BY RAND() LIMIT 1。
    2009-05-05
  • 關(guān)于mysql 的時(shí)間類型選擇

    關(guān)于mysql 的時(shí)間類型選擇

    本篇文章是對(duì)mysql中的時(shí)間類型選擇進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • MySQL如何查看正在運(yùn)行的SQL詳解

    MySQL如何查看正在運(yùn)行的SQL詳解

    在項(xiàng)目開發(fā)里面總是要查看后臺(tái)執(zhí)行的sql語句,mysql數(shù)據(jù)庫(kù)也不例外,下面這篇文章主要給大家介紹了關(guān)于MySQL如何查看正在運(yùn)行的SQL的相關(guān)資料,文中介紹的非常詳細(xì),需要的朋友可以參考下
    2023-01-01
  • 輕松解決MySQL忘記密碼如何重置的方法

    輕松解決MySQL忘記密碼如何重置的方法

    這篇文章主要為大家介紹了MySQL忘記密碼如何重置的方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • 什么是blob,mysql blob大小配置介紹

    什么是blob,mysql blob大小配置介紹

    BLOB (binary large object),二進(jìn)制大對(duì)象,是一個(gè)可以存儲(chǔ)二進(jìn)制文件的容器。在計(jì)算機(jī)中,BLOB常常是數(shù)據(jù)庫(kù)中用來存儲(chǔ)二進(jìn)制文件的字段類型
    2012-02-02
  • 一文分析SQL?Server中事務(wù)使用的鎖

    一文分析SQL?Server中事務(wù)使用的鎖

    這篇文章主要介紹了一文分析SQL?Server中事務(wù)使用的鎖,數(shù)據(jù)庫(kù)引擎使用不同的鎖模式鎖定資源,通過不同鎖的組合使用達(dá)到不同的數(shù)據(jù)庫(kù)事務(wù)隔離級(jí)別,需要的朋友可以參考一下
    2022-09-09
  • 關(guān)于mysql中string和number的轉(zhuǎn)換問題

    關(guān)于mysql中string和number的轉(zhuǎn)換問題

    這篇文章主要介紹了關(guān)于mysql中string和number的轉(zhuǎn)換問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • mysql存儲(chǔ)過程之循環(huán)語句(WHILE,REPEAT和LOOP)用法分析

    mysql存儲(chǔ)過程之循環(huán)語句(WHILE,REPEAT和LOOP)用法分析

    這篇文章主要介紹了mysql存儲(chǔ)過程之循環(huán)語句(WHILE,REPEAT和LOOP)用法,結(jié)合實(shí)例形式分析了mysql存儲(chǔ)過程循環(huán)語句WHILE,REPEAT和LOOP的原理、用法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-12-12
  • MySQL如何添加數(shù)據(jù)insert命令

    MySQL如何添加數(shù)據(jù)insert命令

    這篇文章主要介紹了MySQL如何添加數(shù)據(jù)insert命令問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • mysql 5.7安裝 MySQL 服務(wù)無法啟動(dòng)但是服務(wù)沒有報(bào)告任何錯(cuò)誤

    mysql 5.7安裝 MySQL 服務(wù)無法啟動(dòng)但是服務(wù)沒有報(bào)告任何錯(cuò)誤

    這篇文章主要介紹了mysql 5.7安裝 MySQL 服務(wù)無法啟動(dòng)但是服務(wù)沒有報(bào)告任何錯(cuò)誤的相關(guān)資料,需要的朋友可以參考下
    2017-04-04

最新評(píng)論