在 MySQL 數據庫中,建表可以使用 CREATE TABLE 語句進行操作。如果在建表的時候需要使用外鍵,需要在 CREATE TABLE 語句中使用 FOREIGN KEY 約束。
CREATE TABLE orders (
order_id INT PRIMARY KEY,
customer_id INT,
order_date DATE,
FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
);
上述代碼中,我們創建了一個名為 orders 的表,并在其中定義了三個列,分別是 order_id、customer_id 和 order_date。其中,order_id 列為表的主鍵,customer_id 列是一個外鍵,它參照了另一個表 customers 中的 customer_id 列。
在使用 FOREIGN KEY 約束時,需要在參照的列和被參照的列上都加上相應的約束。
CREATE TABLE customers (
customer_id INT PRIMARY KEY,
customer_name VARCHAR(50) NOT NULL
);
CREATE TABLE orders (
order_id INT PRIMARY KEY,
customer_id INT,
order_date DATE,
FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
);
上述代碼中,我們同時創建了 customers 和 orders 兩個表。在 orders 表中,我們使用 FOREIGN KEY 約束關聯了 customers 表的 customer_id 列。而在 customers 表中,我們使用 PRIMARY KEY 約束創建了 customer_id 列的主鍵。
除了上述的基本用法之外,在使用外鍵時還可以指定 ON DELETE 和 ON UPDATE 觸發的行為。
CREATE TABLE orders (
order_id INT PRIMARY KEY,
customer_id INT,
order_date DATE,
FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
ON DELETE CASCADE
);
上述代碼中,我們在使用 FOREIGN KEY 約束時添加了 ON DELETE CASCADE,表示在 customers 表中刪除某個客戶時,其在 orders 表中的對應記錄也會被刪除。
使用 FOREIGN KEY 約束可以幫助我們管理數據庫中的數據關系,并且方便進行相關查詢。