SQL 튜토리얼

SQL 홈 SQL 소개 SQL 구문 SQL 선택 SQL 선택 고유 SQL 어디에 SQL 및, 또는, 아님 SQL 순서 SQL 삽입 SQL Null 값 SQL 업데이트 SQL 삭제 SQL 상위 선택 SQL 최소 및 최대 SQL 개수, 평균, 합계 SQL 좋아요 SQL 와일드카드 SQL 입력 SQL 사이 SQL 별칭 SQL 조인 SQL 내부 조인 SQL 왼쪽 조인 SQL 권한 조인 SQL 전체 조인 SQL 자체 조인 SQL 유니온 SQL 그룹화 기준 SQL SQL 존재 모든 SQL SQL 선택 대상 선택에 SQL 삽입 SQL 케이스 SQL 널 함수 SQL 저장 프로시저 SQL 주석 SQL 연산자

SQL 데이터베이스

SQL DB 생성 SQL 삭제 DB SQL 백업 DB SQL 테이블 생성 SQL 삭제 테이블 SQL 변경 테이블 SQL 제약 조건 SQL이 널이 아님 SQL 고유 SQL 기본 키 SQL 외래 키 SQL 확인 SQL 기본값 SQL 인덱스 SQL 자동 증분 SQL 날짜 SQL 보기 SQL 주입 SQL 호스팅 SQL 데이터 유형

SQL 참조

SQL 키워드 MySQL 함수 SQL 서버 기능 MS 액세스 기능 SQL 빠른 참조

SQL 예제

SQL 예제 SQL 퀴즈 SQL 연습 SQL 인증서

SQL 외래 키 제약 조건


SQL 외래 키 제약 조건

FOREIGN KEY제약 조건은 테이블 간의 링크를 파괴하는 작업을 방지하는 데 사용됩니다 .

A FOREIGN KEY는 다른 테이블에서 참조하는 한 테이블의 필드(또는 필드 모음)입니다 PRIMARY KEY.

외래 키가 있는 테이블을 자식 테이블이라고 하고 기본 키가 있는 테이블을 참조 또는 부모 테이블이라고 합니다.

다음 두 표를 보십시오.

사람 테이블

PersonID LastName FirstName Age
1 Hansen Ola 30
2 Svendson Tove 23
3 Pettersen Kari 20

주문 테이블

OrderID OrderNumber PersonID
1 77895 3
2 44678 3
3 22456 2
4 24562 1

"Orders" 테이블의 "PersonID" 열은 "Persons" 테이블의 "PersonID" 열을 가리킵니다.

"Persons" 테이블의 "PersonID" 열은 "Persons" 테이블의 열입니다 PRIMARY KEY.

"Orders" 테이블의 "PersonID" 열은 FOREIGN KEY"Orders" 테이블에 있습니다.

제약 조건 은 FOREIGN KEY외래 키 열에 잘못된 데이터가 삽입되는 것을 방지합니다. 외래 키 열은 부모 테이블에 포함된 값 중 하나여야 하기 때문입니다.



CREATE TABLE의 SQL FOREIGN 키

다음 SQL은 FOREIGN KEY"Orders" 테이블이 생성될 때 "PersonID" 열에 생성합니다.

MySQL:

CREATE TABLE Orders (
    OrderID int NOT NULL,
    OrderNumber int NOT NULL,
    PersonID int,
    PRIMARY KEY (OrderID),
    FOREIGN KEY (PersonID) REFERENCES Persons(PersonID)
);

SQL 서버/오라클/MS 액세스:

CREATE TABLE Orders (
    OrderID int NOT NULL PRIMARY KEY,
    OrderNumber int NOT NULL,
    PersonID int FOREIGN KEY REFERENCES Persons(PersonID)
);

제약 조건 의 이름을 지정 하고 여러 열에 제약 조건 FOREIGN KEY을 정의 FOREIGN KEY하려면 다음 SQL 구문을 사용합니다.

MySQL/SQL 서버/오라클/MS 액세스:

CREATE TABLE Orders (
    OrderID int NOT NULL,
    OrderNumber int NOT NULL,
    PersonID int,
    PRIMARY KEY (OrderID),
    CONSTRAINT FK_PersonOrder FOREIGN KEY (PersonID)
    REFERENCES Persons(PersonID)
);

ALTER TABLE의 SQL FOREIGN 키

FOREIGN KEY"Orders" 테이블이 이미 생성된 경우 "PersonID" 열에 대한 제약 조건을 생성하려면 다음 SQL을 사용합니다.

MySQL/SQL 서버/오라클/MS 액세스:

ALTER TABLE Orders
ADD FOREIGN KEY (PersonID) REFERENCES Persons(PersonID);

제약 조건 의 이름을 지정 하고 여러 열에 제약 조건 FOREIGN KEY을 정의 FOREIGN KEY하려면 다음 SQL 구문을 사용합니다.

MySQL/SQL 서버/오라클/MS 액세스:

ALTER TABLE Orders
ADD CONSTRAINT FK_PersonOrder
FOREIGN KEY (PersonID) REFERENCES Persons(PersonID);

외래 키 제약 조건 삭제

제약 조건 을 삭제하려면 FOREIGN KEY다음 SQL을 사용합니다.

MySQL:

ALTER TABLE Orders
DROP FOREIGN KEY FK_PersonOrder;

SQL 서버/오라클/MS 액세스:

ALTER TABLE Orders
DROP CONSTRAINT FK_PersonOrder;