有主從表 主外來鍵關係時刪除表和刪除資料

2021-09-29 11:34:00 字數 1401 閱讀 8189

--delete from  表名 where 條件; 滿足條件的刪除,如果沒有條件,預設刪除全部

--刪除資料如果當前的表作為主表存在,需要考慮當前要刪除的資料是否有被從表引用,如果有 3 中解決方式

-- 預設先刪除從表中引用了資料,刪除主表的這個資料

-- on delete set null

-- on delete cascade

--刪除表 從表可以直接刪除   刪除的是主表

--先刪除所有的從表,再刪除主表

--刪除主表的同時刪除主從表之間的主外來鍵約束   cascade constraint

--1.刪除表時候

--1)預設先刪除從表後刪除主表   2)執意要刪除主表刪除主表並同時刪除主外來鍵約束  drop table sxt_class  cascade constraints;

drop table sxt_class cascade constraints;  --constraints 是約束條件的意思
--2.刪除主表中的資料的時候,刪除從表資料可以直接刪除

--這個主表資料如果沒有被從表中的資料引用,可以直接刪除

--這個主表資料如果已經被從表中的資料引用,需要處理

--1) 先刪除從表中引用了的資料  再刪除主表的這個資料       

--2)新增外來鍵約束的時候 on delete set null,當主表資料被刪除時,從表引用這條資料的外來鍵字段值為null刪除時設定欄位為空--3)新增外來鍵約束的時候 on delete cascade刪除主表資料的時候級聯刪除從表中引用了的這些資料 ,刪除時設定整行資料空

create table sxt_student(

--主鍵約束  (非空+唯一)

sid number(5) primary key, 

--非空約束 not null

--constraints sname_not_null這是設定如果報錯提示訊息會告訴你那個欄位錯了,起個別名

sname varchar2(4 char)   constraints sname_not_null   not null,   

cid number(5),

constraints fk_sxt_class_cid foreign key(cid) references sxt_class(cid) on delete cascade--on delete set null

)

MySQL 檢視資料庫中有主外來鍵關係的表資訊 2

sql select c.table schema 擁有者,c.referenced table name 父表名稱,c.referenced column name 父表字段,c.table name 子表名稱,c.column name 子表字段,c.constraint name 約束名,t....

建立表和新增主外來鍵約束

本文主要說明如何建立表並給表加上主外來鍵約束。主鍵 primary key 它是用來唯一確定表中的某一行,相當於乙個人的身份證號碼。如果公共關鍵字在乙個關係中是主關鍵字,那麼這個公共關鍵字被稱為另乙個關係的外來鍵 foreign key 由此可見,外來鍵表示了兩個關係的相關聯絡。以另乙個關係的外來鍵...

MySQL建立資料表並建立主外來鍵關係

為mysql資料表建立主外來鍵需要注意以下幾點 需要建立主外來鍵關係的兩個表的儲存引擎必須是innodb。外來鍵列和參照列必須具有相似的資料型別,即可以隱式轉換的資料型別。外來鍵列和參照列必須建立索引,如果外來鍵列不存在索引,mysql將自動建立索引。一 sql語句建立資料表並設定主外來鍵關係 cr...