이번 포스팅에서는 테이블의 기본키와 외래키에 대해 알아보도록 하겠습니다.
1. 기본키(Primary Key)
1-1. 기본키 특징
- 테이블의 각 레코드를 식별합니다.
- 중복되지 않는 고유값입니다.
- NULL값이 될 수 없습니다.
- 테이블 당 하나의 기본키가 존재합니다.
1-2. 기본키 명령어
CREATE TABLE <테이블명>
(
<컬럼명1> <데이터타입> NOT NULL,
<컬럼명2> <데이터타입> NOT NULL,
...
PRIMARY KEY (<컬럼명1>, <컬럼명2>, ...)
);
위 코드는 테이블을 만들면서 기본키를 생성하는 명령어입니다.
2개 이상의 컬럼을 기본키로 지정할 수 있습니다.
ALTER TABLE <테이블명>
ADD PRIMARY KEY (<컬럼명1>, <컬럼명2>, ...);
다음으로는 이미 존재하는 테이블에 기본키를 새로 지정하는 방법에 대해 알아보겠습니다.
ALTER TABLE <테이블명>
DROP PRIMARY KEY;
기본키를 삭제하는 명령어입니다.
2. 외래키(Foreign Key)
2-1. 외래키 특징
- 한 테이블을 다른 테이블과 연결합니다.
- 참조되는 항목은 해당 테이블의 기본키입니다.
- 기본키와 달리 테이블 당 여러개 생성할 수 있습니다. (여러 테이블을 참조할 수 있기 때문)
2-2. 외래키 명령어
CREATE TABLE <테이블명>
(
<컬럼명1> <데이터타입1>,
<컬럼명2> <데이터타입2>,
...
PRIMARY KEY (<컬럼명1>, <컬럼명2>, ...),
CONSTRAINT <제한명>
FOREIGN KEY (<컬럼명1>, <컬럼명2>, ...) REFERENCES <참조테이블명>(<참조컬럼명>)
);
위 코드는 테이블을 만들면서 외래키를 생성합니다.
SHOW CREATE TABLE <테이블명>;
자동으로 생성된 외래키의 이름을 확인하는 명령어입니다.
ALTER TABLE <테이블명>
ADD FOREIGN KEY (<컬럼명>) REFERENCES <참조테이블명>(<참조컬럼명>);
테이블을 만든 이후에도 외래키를 생성할 수 있습니다.
ALTER TABLE <테이블명>
DROP FOREIGN KEY <외래키 제한명>;
외래키를 삭제하는 명령어입니다.
'데이터베이스・SQL' 카테고리의 다른 글
[MySQL]SQL 연산자 정리(비교/논리연산자) (0) | 2023.07.25 |
---|---|
[MySQL]DB 테이블 데이터 다루기(INSERT/SELECT/UPDATE/DELETE) (0) | 2023.07.25 |
[MySQL]파이썬으로 MySQL 사용하기 (0) | 2023.07.25 |
[MySQL]DB 테이블 생성/수정/삭제 명령어 정리 (0) | 2023.07.24 |
[MySQL]AWS RDS 사용해보기 (0) | 2023.07.24 |