MYSQL級聯條件刪除資料

2021-07-10 20:37:16 字數 1261 閱讀 1341

有時候,刪除一張表的資料需要根據另外一張表資料為依據來刪除表中的資料。以下就以幾種方式來實現該功能。

以下語句在mysql資料庫下驗證:

第一種方式:

delete ufi from

user_finger_info ufi ,user_info ui

where ufi.userid=ui.id and ui.id=32;

第二種方式:

delete ufi from

user_finger_info_copy ufi inner join user_info ui

on  ufi.userid=ui.id where ui.id=31;

第三種方式:

(注意這裡from表不能加別名,不然會報錯)

delete from

user_finger_info_copy  where

exists (select * from user_info ui where user_finger_info_copy.userid=ui.id and ui.id=30)

第四種方式:

(注意這裡from表不能加別名,不然會報錯)

delete from

user_finger_info_copy  where

userid in (select id from user_info ui where  ui.id=27)

oracle資料庫不支援上述第

一、第二種方式,它可以使用第三種以及第四種方式完成,並且支援表加別名。

第一種方式:

delete

from sc sc1 where exists (

select * from  student s

where sc1.id=s.id and

s.id=1);

第二種方式:

delete

from sc sc1 where sc1.id in (

select id from  student s

where s.id=1);

第三種方式,參考

以匿名表方式:

delete

from (select 1 from  

student s,sc sc1

where sc1.id=s.id and s.id=1);

這裡不管你是把student表放前,或者sc表放前(即誰為主表),刪除的都是sc表的資料,不會刪除student表的資料。具體資料庫內部機制不了解。請各位解答。謝謝!

MySQL刪除資料

mysql通過delete從表中刪除 去掉 資料。可以從表中刪除特定的行或者從表中刪除所有的行。下面語句是從customer表中刪除一行 delete from customers where cust id 10006 先檢視表customers在刪除前的成員 select cust id,cus...

MySQL 刪除資料

從資料表中刪除資料使用 delete 語句,delete 語句允許用 where 子句指定刪除條件。語法格式 delete from table name where table name 要執行刪除操作的表 where 為可選引數,用於指定刪除條件,如果沒有 where 子句,將刪除表中的所有記錄...

MYSQL刪除資料

884 535 qq.com 一 mysql 刪除表的幾種情況 1 drop table table name 刪除表全部資料和表結構,立刻釋放磁碟空間,不管是 innodb 和 myisam 例項,刪除學生表 drop table student 2 truncate table table na...