共計 1723 個字符,預計需要花費 5 分鐘才能閱讀完成。
本篇內容主要講解“mysql 中怎么創建和查詢外鍵”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓丸趣 TV 小編來帶大家學習“mysql 中怎么創建和查詢外鍵”吧!
一、什么是外鍵
外鍵是一個表格中的一列或多列,它用于指定這個列或多列中的值必須與另一個表格中的數據或者另一個表格中的主鍵相匹配。這個被匹配的表格稱為被參考表。在一個關系型數據庫中,當我們想要鏈接兩個或多個表格時,我們就可以使用外鍵。
外鍵的目的是用來確保數據的完整性和一致性。當我們在一個表格中加入一行數據時,如果這個數據需要和另一個表格中的某些數據匹配,如果這個匹配關系是通過外鍵建立的,那么 MySQL 就會檢查這個新增數據中的外鍵,看看在被參考表格中是否存在這個數據,如果不存在,就會拒絕在這個表格中插入這個數據。
二、如何創建外鍵
在 MySQL 中創建外鍵有多種方式,以下是兩種比較常用的方式。
1、使用 ALTER TABLE 語句
通過 ALTER TABLE 語句添加外鍵的語法格式如下:
ALTER TABLE 表名 ADD CONSTRAINT 外鍵名稱 FOREIGN KEY (列名) REFERENCES 另一個表格的表名 (列名);
其中,外鍵名稱是給外鍵的一個名稱,這個名稱應該具有唯一性,列名指的是當前表格的列名,另一個表格的表明和列名分別是被參考表的名稱和被參考表的列名。
例如,我們有一個員工表(employees)和一個部門表(departments),他們之間是通過一個外鍵鏈接的,我們可以使用以下 SQL 語句創建這個外鍵。
ALTER TABLE employees ADD CONSTRAINT dept_fk FOREIGN KEY (dept_id) REFERENCES departments (dept_id);
這個語句的意思是,給員工表(employees)添加名為 dept_fk 的外鍵,dept_fk 指向 employees 表的 dept_id 列,它參考了 departments 表的 dept_id 列。
2、在創建表格時定義外鍵
在創建表格時定義外鍵也是一種常用的方式。語法格式如下:
CREATE TABLE 表名 (
列名 數據類型,
外鍵名稱 FOREIGN KEY (列名) REFERENCES 另一個表格的表名 (列名)
);
例如,創建一個員工表(employees)和一個部門表(departments),并且使用 dept_id 列作為 employees 表的外鍵鏈接 departments 表的 dept_id 列,可以使用以下的 SQL 語句。
CREATE TABLE employees (
id INT NOT NULL,
name VARCHAR(50) NOT NULL,
dept_id INT,
PRIMARY KEY (id),
FOREIGN KEY (dept_id) REFERENCES departments (dept_id)
)
三、如何查詢外鍵
當在 MySQL 中建立了外鍵以后,我們就可以使用 MySQL 的查詢語句查詢外鍵了。查詢外鍵的語法格式如下:
SELECT * FROM 表名 WHERE 列名 IS NULL;
這個語句返回的是表格中列名為空的數據,如果這個列是被定義為外鍵的,那么這個查詢結果就是表格中與外鍵沒有匹配行的數據。這個查詢結果是非常有用的,它可以幫助我們找出那些需要手動解決,沒有被正確匹配的記錄。
例如,我們有一個 departments 表格,它的 dept_id 列被定義為外鍵,如果我們想要查詢出那些在 departments 表格中沒有匹配的記錄,可以使用以下的 SQL 語句:
SELECT * FROM departments WHERE dept_id NOT IN (SELECT dept_id FROM employees);
這個語句的意思是,查詢在 departments 表格中不包含在 employees 表格中的 dept_id 數據。
到此,相信大家對“mysql 中怎么創建和查詢外鍵”有了更深的了解,不妨來實際操作一番吧!這里是丸趣 TV 網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
向 AI 問一下細節
丸趣 TV 網 – 提供最優質的資源集合!