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

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

王林
풀어 주다: 2023-09-06 13:53:02
앞으로
2451명이 탐색했습니다.

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으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿