MySQL 外聯(lián)字段是指在兩個表之間建立聯(lián)系時,一個表中的字段作為另一個表中的字段的參照,從而實現(xiàn)兩個表之間的數(shù)據(jù)關聯(lián)。
例如,你有一個學生表和一個課程表,你想記錄每個學生所選的課程信息。你需要在學生表中添加一個外鍵字段,引用課程表中的主鍵字段。這樣,每當你向?qū)W生表中添加一條記錄,它可以引用課程表中的課程。這也意味著,如果你刪除了課程表中的一條記錄,與該記錄有關的學生記錄將不再有效。
-- 創(chuàng)建課程表 CREATE TABLE courses ( course_id INT PRIMARY KEY, course_name VARCHAR(255) NOT NULL ); -- 創(chuàng)建學生表 CREATE TABLE students ( student_id INT PRIMARY KEY, student_name VARCHAR(255) NOT NULL, course_id INT, FOREIGN KEY (course_id) REFERENCES courses (course_id) );
在上面的示例中,我們使用 FOREIGN KEY 關鍵字來創(chuàng)建外聯(lián)字段。它指定了 course_id 列為外鍵,它引用了 courses 表中的 course_id 列。
外聯(lián)字段不僅可以用于建立一對一關系,還可以用于建立一對多關系。例如,每個訂單可能有多個訂單行項目,而每個訂單行項目可能只屬于一個訂單。訂單表中的外鍵將指向訂單行項目表中的主鍵,從而實現(xiàn)訂單和訂單行項目之間的聯(lián)系。
-- 創(chuàng)建訂單表 CREATE TABLE orders ( order_id INT PRIMARY KEY, customer_name VARCHAR(255) NOT NULL ); -- 創(chuàng)建訂單行項目表 CREATE TABLE order_items ( item_id INT PRIMARY KEY, order_id INT, product_name VARCHAR(255) NOT NULL, FOREIGN KEY (order_id) REFERENCES orders (order_id) );
在上面的示例中,我們使用 FOREIGN KEY 關鍵字來創(chuàng)建 order_id 列作為外鍵,它引用了 orders 表中的 order_id 列。