logo

SQL에 외래 키를 추가하는 방법

이 기사에서는 SQL 데이터베이스 테이블의 열에 외래 키를 추가하는 방법을 알아봅니다.

그만큼 외래 키 SQL에서는 데이터베이스에 있는 두 테이블의 레코드를 조인하는 데 사용됩니다. 한 테이블에서 FOREIGN KEY로 정의된 열은 동일한 데이터베이스에 있는 다른 테이블의 PRIMARY KEY여야 합니다.

다음 두 가지 방법으로 열에 외래 키를 쉽게 추가할 수 있습니다.

  1. Create table 문을 사용하여 외래 키 추가
  2. Alter Table 문을 사용하여 외래 키 추가

SQL 테이블의 열에 FOREIGN KEY를 추가하려면 주어진 순서에 따라 아래 단계를 따라야 합니다.

  1. 시스템에 데이터베이스를 생성합니다.
  2. 동일한 데이터베이스에 두 개의 테이블을 만듭니다.
  3. 외래 키를 추가하기 전에 테이블 구조를 봅니다.
  4. 테이블에 외래 키를 추가합니다.
  5. 테이블 구조를 봅니다.

이제 위의 단계를 예를 들어 설명하겠습니다.

1단계: 데이터베이스 생성

구조적 쿼리 언어에서 데이터베이스 생성은 구조화된 테이블을 데이터베이스에 저장하기 위한 첫 번째 단계입니다.

데이터베이스를 생성하려면 다음 SQL 구문을 사용하십시오.

 CREATE DATABASE Database_Name; 

당신이 차량 데이터 베이스. 이를 위해서는 구조적 쿼리 언어로 다음 명령을 입력해야 합니다.

 CREATE DATABASE Vehicles; 

2단계: 데이터베이스에 두 개의 테이블 생성

이제 데이터베이스에 테이블을 생성하려면 다음 SQL 구문을 사용해야 합니다.

 CREATE TABLE table_name ( column_Name_1 data type (size of the column_1), column_Name_2 data type (size of the column_2), column_Name_3 data type (size of the column_3), ... column_Name_N data type (size of the column_1) ); 

다음 SQL 쿼리는 자동차_세부사항 테이블에 차량 데이터 베이스.

 CREATE TABLE Cars_Details ( Car_Number INT AUTO_INCREMENT PRIMARY KEY, Model INT, Cars_Name VARCHAR (20), Colour VARCHAR (20), ); 

다음 쿼리는 다음을 생성합니다. 자동차_가격_세부정보 테이블에 차량 데이터 베이스:

 CREATE TABLE Cars_Price_Details ( Model INT NOT NULL PRIMARY KEY, Cars_Price INT NOT NULL ); 

3단계: 외래 키 추가 전 테이블 구조 보기

테이블 생성 및 데이터 삽입 후 SQL 애플리케이션에 다음 쿼리를 입력하여 두 테이블의 구조를 볼 수 있습니다.

 DESC Cars or DESCRIBE Cars ; 

필드 유형 없는 열쇠 기본 추가의
차량 번호 정수 아니요 없는 자동 증가
모델 정수 - 없는 -
자동차_이름 바르차르(20) - 없는
색상 바르차르(20) - 없는 -

 DESC Cars_Price_Details; 

필드 유형 없는 열쇠 기본 추가의
자동차_모델 정수 아니요 없는 -
자동차_가격 정수 아니요 - 없는

4단계: 테이블의 열에 외래 키 추가

테이블 생성 시 외래 키를 추가하려면 SQL에서 다음 CREATE TABLE 구문을 사용해야 합니다.

 CREATE TABLE table_name1 ( Column_Name_1 data type (size of the column_1), Column_Name_2 data type (size of the column_2), ......, Column_Name_N data type (size of the column_N) FOREIGN KEY REFERENCES Table_Name2 (Column_Name) ) ; 

다음 쿼리는 Cars_Details 테이블의 'Model' 열에 FOREIGN KEY를 추가합니다.

 CREATE TABLE Cars_Details ( Car_Number INT AUTO_INCREMENT, Model INT FOREIGN KEY REFERENCES Cars_Price_Details (Car_Model), Cars_Name VARCHAR (20), Color VARCHAR (20) UNIQUE, Price INT NOT NULL ) ; 

SQL 조인의 이 쿼리 자동차_세부사항 테이블이 있는 자동차_가격_세부정보 외래 키를 사용하는 테이블입니다.

5단계: 외래 키 추가 후 테이블 구조 보기

실행된 쿼리의 결과를 확인하려면 4단계, SQL에 다음 DESC 명령을 입력해야 합니다.

 DESC Cars_Details; 

필드 유형 없는 열쇠 기본 추가의
차량 번호 정수 주요한 없는 자동 증가
모델 정수 아니요 외국의 없는 -
자동차_이름 바르차르(20) - 없는 -
색상 바르차르(20) - 없는 -
가격 정수 아니요 - 없는 -
평균 정수 아니요 - 0 -

위 출력에 표시된 것처럼 Model 열이 외래 키로 생성됩니다.

기존 테이블에 외래 키 추가

기존 테이블에 외래 키를 추가하려면 SQL에서 다음 ALTER 구문을 사용해야 합니다.

 ALTER TABLE Table_Name1 ADD CONSTRAINT ForeignKey_Name FOREIGN KEY (Column_Name) REFERENCES Table_Name2 (Column_Name); 

다음 쿼리는 Cars_Details 테이블이 데이터베이스 시스템에 이미 있는 경우 Model 열에 FOREIGN KEY를 추가합니다.

 ALTER TABLE Cars_Details ADD CONSTRAINT FK_Cars_Details FOREIGN KEY (Model) REFERENCES Cars_Price_Details (Car_Model); 

SQL 조인의 ALTER 쿼리 자동차_세부사항 테이블이 있는 자동차_가격_세부정보 외래 키를 사용하는 테이블입니다.

테이블에서 외래 키 삭제

테이블의 컬럼에서 외래 키를 삭제하려면 다음을 사용해야 합니다. 바꾸다 SQL의 구문:

 ALTER TABLE Table_Name DROP FOREIGN KEY Foreign_Key_Name; 

다음 쿼리는 Cars_Details 테이블의 Model 열에서 생성된 FOREIGN KEY를 삭제합니다.

 ALTER TABLE Cars DROP FOREIGN KEY FK_Cars_Details;