什麽是外鍵?
假設有兩個表,表A和表B,它們通過公共字段“id”相關聯,我們將這種關系稱為R .如果“id”是表A中的主鍵,那麽表A就是這種關系R中的主表..因此,表B是這個關系中的從表,表B中的“id”是表B用來引用表A中的數據的外鍵..因此,外鍵是表中用來引用主表中數據的公共* * *字段。
語法結構:
創建表時添加外鍵約束:
修改表時定義外鍵約束:
示例1:創建表時添加外鍵約束
首先創建主表:importhead。
創建壹個從表:test_mysql.importdetails
查詢有關外鍵約束的信息:
查詢結果是:
示例2:修改表時定義外鍵約束
修改表時從表test_mysql.importdetails定義外鍵約束。
DROP用於刪除外鍵約束,語法結構如下:
示例:從表test_mysql.importdetails中刪除外鍵約束
在MySQL中,有兩種類型的連接,即內部連接和外部連接。
在MySQL中,關鍵字JOIN、inner join和CROSS JOIN具有相同的含義,它們都表示INNER JOIN。我們可以通過將兩個表連接在壹起來查詢數據。
示例:有壹個銷售表,如下所示:
有壹個會員信息表單,如下所示:
通過內部連接,查詢會員的銷售記錄:
運行該語句,結果如下:
根據上面的結果,我們實際上可以知道內部連接查詢的結果集是兩個表的交集。
與僅返回滿足連接條件的記錄的內部聯接不同,外部聯接還可以返回表中的所有記錄,表包括兩個類別,即左聯接和右聯接。
示例1:左側外部連接
如果需要查詢所有銷售記錄,可以使用左側外部連接。
運行該語句,結果是:
從上面的結果中,我們可以知道LEFT JOIN左邊的表將返回所有記錄,而右邊的表將只返回滿足連接條件的記錄。
示例2:右連接:
運行該語句,結果是:
從上面的結果中,我們可以知道RIGHT JOIN右邊的表將返回所有記錄,而左邊的表將只返回滿足連接條件的記錄。