select c.table_schema 擁有者,
c.referenced_table_name 父表名稱 ,
c.referenced_column_name 父表字段 ,
c.table_name 子表名稱,
c.column_name 子表字段,
c.constraint_name 約束名,
t.table_comment 表注釋,
r.update_rule 約束更新規則,
r.delete_rule 約束刪除規則
from information_schema.key_column_usage c
join information_schema. tables t
on t.table_name = c.table_name
join information_schema.referential_constraints r
on r.table_name = c.table_name
and r.constraint_name = c.constraint_name
and r.referenced_table_name = c.referenced_table_name
where c.referenced_table_name is not null ;
結果:外來鍵約束建立的sql:
alter table course add constraint fk_course_teacher foreign key(tid) references teacher(tid);
alter table sc add constraint fk_sc_student foreign key(s) references student(s);
alter table sc add constraint fk_sc_course foreign key(c) references course(cid);
外來鍵約束刪除的sql:
alter table course drop foreign key tid
附:新增唯一聯合索引:
alter table sc add unique index idx_s_c(s,c)
mysql外來鍵查詢
當我們想檢視乙個資料庫表有多少其他表通過外來鍵依賴這個表的時候,可以通過視覺化的工具來看,當沒有工具可以使用的時候,可以通過如下的sql查詢來完成 select concat table name,column name as foreign key concat referenced table ...
查詢資料的所有外來鍵
在mysql資料庫鏈結中,每乙個庫都有一張表叫table constraints,它記錄了庫中所有的約束資訊,包括主鍵,外來鍵,可以通過constraint type欄位來查詢約束型別。如果想知道某個外來鍵的資訊,比如對應哪張表的主鍵,可以到key column usage 表中查詢,參考表名 re...
Oracle 查詢所有表外來鍵
查詢表的外來鍵 包括名稱,引用表的表名和對應的鍵名,下面是分成多步查詢 select from user constraints c where c.constraint type r and c.table name 要查詢的表查詢外來鍵約束的列名 select from user cons co...