PRIMARY KEY
PRIMARY KEY 제약 조건은 테이블의 각 레코드를 고유하게 식별한다.
테이블은 하나의 단일 필드 또는 여러 필드로 구성될 수 있는 하나의 기본 키만 가질 수 있다.
CREATE TABLE의 PRIMARY KEY
ID 열에 PRIMARY KEY 생성
“Persons” 테이블이 생성될 때 “ID” 열에 PRIMARY KEY를 생성한다.
MySQL
CREATE TABLE Persons ( ID int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Age int, PRIMARY KEY (ID) );
SQL Server / Oracle / MS Access
CREATE TABLE Persons ( ID int NOT NULL PRIMARY KEY, LastName varchar(255) NOT NULL, FirstName varchar(255), Age int );
여러 열에 PRIMARY KEY 생성
PRIMARY KEY 제약 조건의 이름 지정을 허용하고 여러 열에서 PRIMARY KEY 제약 조건을 정의한다.
MySQL / SQL Server / Oracle / MS Access
CREATE TABLE Persons ( ID int NOT NULL, LastName varchar(255) NOT NULL, FirstName varchar(255), Age int, CONSTRAINT PK_Person PRIMARY KEY (ID,LastName) );
⭐ 위의 예에는 하나의 기본 키만 있다. 그러나 기본 키의 값은 두 열(ID + LastName)로 구성된다.
ALTER TABLE의 PRIMARY KEY
ID 열에 PRIMARY KEY 생성
테이블이 이미 생성된 경우 “ID” 열에 PRIMARY KEY 제약 조건을 생성한다.
MySQL / SQL Server / Oracle / MS Access
ALTER TABLE Persons ADD PRIMARY KEY (ID);
여러 열에 PRIMARY KEY 생성
PRIMARY KEY 제약 조건의 이름 지정을 허용하고 여러 열에서 PRIMARY KEY 제약 조건을 정의한다.
MySQL / SQL Server / Oracle / MS Access
ALTER TABLE Persons ADD CONSTRAINT PK_Person PRIMARY KEY (ID,LastName);
⭐ ALTER TABLE 문을 사용하여 기본 키를 추가하는 경우 기본 키 열은 테이블이 처음 생성될 때 NULL 값을 포함하지 않도록 먼저 선언되어 있어야 한다.
PRIMARY KEY 제약 조건 삭제
PRIMARY KEY 제약 조건을 삭제한다.
MySQL
ALTER TABLE Persons DROP PRIMARY KEY;
SQL Server / Oracle / MS Access
ALTER TABLE Persons DROP CONSTRAINT PK_Person;
참고
W3C School - SQL PRIMARY KEY Keywords
W3C School - SQL Tutorial