>  기사  >  데이터 베이스  >  FOREIGN KEY는 무엇을 의미하며 MySQL 테이블에서 어떻게 사용할 수 있나요?

FOREIGN KEY는 무엇을 의미하며 MySQL 테이블에서 어떻게 사용할 수 있나요?

王林
王林앞으로
2023-09-06 13:53:022392검색

FOREIGN KEY 是什么意思以及我们如何在 MySQL 表中使用它?

실제로 FOREIGN KEY는 두 테이블의 데이터 사이에 링크를 설정하는 데 사용할 수 있는 열 또는 여러 열의 조합입니다. 즉, FOREIGN KEY 제약 조건이 두 테이블 모두와 관련되어 있다고 말할 수 있습니다. 또한 테이블의 기본 키가 다른 테이블의 외래 키와 연결되므로 데이터 무결성을 향상시키는 데 사용됩니다.

Syntax

FOREIGN KEY [column_name] REFERENCES [table having Primary Key] ([column_name]);

여기서 REFERENCES는 FOREIGN KEY가 설정될 열 목록입니다. 기본 키가 있는 테이블은 기본 키가 포함된 테이블의 이름입니다. 기본 키가 설정되었습니다.

Example

"Customer"와 "Orders"라는 두 개의 테이블이 있다고 가정해 보겠습니다. 두 테이블 간의 관계는 "Cust_Id" 필드에 지정된 "orders" 테이블의 외래 키를 통해 설정할 수 있습니다. 두 개의 테이블을 생성하는 쿼리는 다음과 같습니다. -

mysql> Create Table Customer(Cust_ID int Primary Key, First_name Varchar(20), Last_name  Varchar(20), City Varchar(10));
Query OK, 0 rows affected (0.13 sec)

mysql> Create Table Orders(Order_Id Int Primary Key, Product_Name Varchar(25), Orderdate DATE, Cust_ID Int, FOREIGN KEY(Cust_ID) REFERENCES Customer(Cust_id));
Query OK, 0 rows affected (0.13 sec)

mysql> Describe Orders;
+--------------+-------------+------+-----+---------+-------+
| Field        | Type        | Null | Key | Default | Extra |
+--------------+-------------+------+-----+---------+-------+
| Order_Id     | int(11)     | NO   | PRI | NULL    |       |
| Product_Name | varchar(25) | YES  |     | NULL    |       |
| Orderdate    | date        | YES  |     | NULL    |       |
| Cust_ID      | int(11)     | YES  | MUL | NULL    |       |
+--------------+-------------+------+-----+---------+-------+
4 rows in set (0.04 sec)

여기서 "Customer" 테이블을 상위 테이블 또는 참조 테이블이라고 하고 "Orders" 테이블을 하위 테이블 또는 참조 테이블이라고 합니다. 하위 테이블의 행에는 상위 테이블에 존재하는 값이 포함되어야 합니다. 예를 들어, "orders" 테이블의 각 행에는 "customer" 테이블에 존재하는 "Cust_Id"가 있어야 합니다.

위 내용은 FOREIGN KEY는 무엇을 의미하며 MySQL 테이블에서 어떻게 사용할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제