在mysql中,可以利用show語句查詢外鍵約束,show語句可以顯示mysql中的資料庫、表和列的信息,語法為「SHOW CREATE TABLE 表名」;該語句可以顯示表中所有的主鍵約束、外鍵約束、非空約束等所有約束的資訊。
本教學操作環境:windows10系統、mysql8.0.22版本、Dell G3電腦。
mysqlshow 指令用來顯示 MySQL 伺服器中的資料庫、資料表和列資訊。
在 MySQL 中可以使用 SHOW CREATE TABLE 語句來查看表中的約束,進而查詢外鍵約束情況。
查看資料表中的約束語法格式如下:
SHOW CREATE TABLE <数据表名>;
範例如下:
mysql> CREATE TABLE tb_emp8 -> ( -> id INT(11) PRIMARY KEY, -> name VARCHAR(22) UNIQUE, -> deptId INT(11) NOT NULL, -> salary FLOAT DEFAULT 0, -> CHECK(salary>0), -> FOREIGN KEY(deptId) REFERENCES tb_dept1(id) -> ); Query OK, 0 rows affected (0.37 sec) mysql> SHOW CREATE TABLE tb_emp8 \G *************************** 1. row *************************** Table: tb_emp8 Create Table: CREATE TABLE `tb_emp8` ( `id` int(11) NOT NULL, `name` varchar(22) DEFAULT NULL, `deptId` int(11) NOT NULL, `salary` float DEFAULT '0', PRIMARY KEY (`id`), UNIQUE KEY `name` (`name`), KEY `deptId` (`deptId`), CONSTRAINT `tb_emp8_ibfk_1` FOREIGN KEY (`deptId`) REFERENCES `tb_dept1` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=gb2312 1 row in set (0.19 sec)
擴充知識:
外鍵約束的定義
Mysql外鍵約束(FOREIGN KEY)是表格的一個特殊字段,經常與主鍵約束一起使用。對於兩個具有關聯關係的表而言,相關聯字段中主鍵所在的表就是主表(父表),外鍵所在的表就是從表(子表)
假設我們有2個表,分別是表A和表B,它們透過一個公共欄位「id」發生關聯關係,我們把這個關聯關係叫做R。如果「id」在表A中是主鍵,那麼,表A就是這個關係R中的主表。對應的,表B就是這個關係中的從表,表B中的“id”,就是表B用來引用表A中資料的,叫外鍵。所以,外鍵就是從表中用來引用主表中資料的那個公共欄位
外鍵約束的作用
外鍵約束,可以幫我們確定從表中外鍵欄位與主表中的主鍵欄位之間的引用關係,也可以確保從表中資料所引用的主表資料不會被刪除,確保兩個表中資料的一致性
主表刪除某筆記錄時,從表中對應的記錄也必須有對應的改變。一個表可以有一個或多個外鍵,外鍵可以為空值,若不為空值,則每一個外鍵的值必須等於主表中主鍵的某個值
但是,外鍵約束是有成本的,需要消耗系統資源,可能不適合大併發的SQL操作。因此mysql允許你不使用系統自帶的外鍵約束,在應用層面完成檢查資料一致性的邏輯。這也是為什麼我們即使沒有設定外鍵,也能進行關聯查詢的原因
推薦學習:mysql影片教學
以上是mysql怎麼查詢外鍵約束的詳細內容。更多資訊請關注PHP中文網其他相關文章!