MySQL中怎么刪除多表數(shù)據(jù),針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
專注于為中小企業(yè)提供網(wǎng)站建設、成都網(wǎng)站建設服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)合川免費做網(wǎng)站提供優(yōu)質(zhì)的服務。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了1000多家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設實現(xiàn)規(guī)模擴充和轉變。
MySQL刪除多表數(shù)據(jù)有哪些問題
1、deletefromt1where條件
2、deletet1fromt1where條件
3、deletet1fromt1,t2where條件
4、deletet1,t2fromt1,t2where條件
前3者是可行的,第4者不可行。
也就是簡單用delete語句無法進行多表刪除數(shù)據(jù)操作,不過可以建立級聯(lián)刪除,在兩個表之間建立級聯(lián)刪除關系,則可以實現(xiàn)刪除一個表的數(shù)據(jù)時,同時刪除另一個表中相關的數(shù)據(jù)。
MySQL刪除多表數(shù)據(jù)有哪些問題
1、從數(shù)據(jù)表t1中把那些id值在數(shù)據(jù)表t2里有匹配的記錄全刪除掉
DELETEt1FROMt1,t2WHEREt1.id=t2.id或DELETEFROMt1USINGt1,t2WHEREt1.id=t2.id
2、從數(shù)據(jù)表t1里在數(shù)據(jù)表t2里沒有匹配的記錄查找出來并刪除掉
DELETEt1FROMt1LEFTJOINT2ONt1.id=t2.idWHEREt2.idISNULL或
DELETEFROMt1,USINGt1LEFTJOINT2ONt1.id=t2.idWHEREt2.idISNULL
3、從兩個表中找出相同記錄的數(shù)據(jù)并把兩個表中的數(shù)據(jù)都刪除掉
DELETEt1,t2fromt1LEFTJOINt2ONt1.id=t2.idWHEREt1.id=25
注意此處的deletet1,t2from中的t1,t2不能是別名
如:deletet1,t2fromtable_nameast1leftjointable2_nameast2ont1.id=t2.idwheretable_name.id=25在數(shù)據(jù)里面執(zhí)行是錯誤的(MYSQL版本不小于5.0在5.0中是可以的)
上述語句改寫成
deletetable_name,table2_namefromtable_nameast1leftjointable2_nameast2ont1.id=t2.idwheretable_name.id=25在數(shù)據(jù)里面執(zhí)行是錯誤的(MYSQL版本小于5.0在5.0中是可以的)。
關于MySQL中怎么刪除多表數(shù)據(jù)問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關知識。