SQL 기본 | DDL : 데이터 정의 언어 | Primary Key : 기본 키


기본 키(Primary Key)의 각 데이터는 테이블에서 유일한 값이다. 즉, 기본 키는 하나의 테이블에서 각 행의 데이터를 유일하게 확인하는데 사용되는 것이다. 기본 키는 원래의 데이터 내의 하나의 필드 또는 하나로 만들어진 필드(원래 데이터와 관계없는 필드)가 가능하다. 기본 키는 하나 이상의 필드를 포함할 수 있다. 기본 키가 여러 필드를 포함하는 경우, 복합 키(Composite Key)라고 한다.

기본 키는 새로운 테이블을 만들기 위해 설정된다(CREATE TABLE 절에서) 또는 기존에 있는 테이블의 구조 설정 변경(ALTER TABLE에서)에 사용될 수 있다.

테이블 생성시 기본 키 설정 방법

다음 새 테이블을 만드는데 사용되는 기본 키 설정 방법에 대한 몇 가지 예를 올려두었다.

MySQL:

CREATE TABLE customer  (
  sid INTEGER, 
  last_name VARCHAR(30), 
  first_name VARCHAR(30), 
  PRIMARY KEY (sid)
);

Oracle:

CREATE TABLE Customer (
  sid integer PRIMARY KEY, 
  last_name VARCHAR(30), 
  first_name VARCHAR(30)
);

SQL Server:

CREATE TABLE Customer (
  sid INTEGER PRIMARY KEY, 
  last_name VARCHAR(30), 
  first_name VARCHAR(30)
);

테이블의 구조 변경시 기본 키 설정 방법

다음은 기존에 있는 테이블의 구조 설정을 변경하는 데 사용되는 기본 키 설정 방법이다.

MySQL:

ALTER TABLE customer ADD PRIMARY KEY (sid);

Oracle:

ALTER TABLE customer ADD PRIMARY KEY (sid);

SQL Server:

ALTER TABLE customer ADD PRIMARY KEY (sid);

ALTER TABLE 절에서 기본 키를 설정하기 전에 기본 키로 사용되는 필드가 NOT NULL 및 설정되는지 여부를 확인하는 것에 주의한다. 즉, 그 필드에 데이터가 항상 들어있다.