이 기사에서는 SQL 데이터베이스 테이블의 열에 외래 키를 추가하는 방법을 알아봅니다.
그만큼 외래 키 SQL에서는 데이터베이스에 있는 두 테이블의 레코드를 조인하는 데 사용됩니다. 한 테이블에서 FOREIGN KEY로 정의된 열은 동일한 데이터베이스에 있는 다른 테이블의 PRIMARY KEY여야 합니다.
다음 두 가지 방법으로 열에 외래 키를 쉽게 추가할 수 있습니다.
- Create table 문을 사용하여 외래 키 추가
- Alter Table 문을 사용하여 외래 키 추가
SQL 테이블의 열에 FOREIGN KEY를 추가하려면 주어진 순서에 따라 아래 단계를 따라야 합니다.
- 시스템에 데이터베이스를 생성합니다.
- 동일한 데이터베이스에 두 개의 테이블을 만듭니다.
- 외래 키를 추가하기 전에 테이블 구조를 봅니다.
- 테이블에 외래 키를 추가합니다.
- 테이블 구조를 봅니다.
이제 위의 단계를 예를 들어 설명하겠습니다.
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;