10. PRIMARY KEY
1. PRIMARY KEY
Constraint
PRIMARY KEY
제약 조건은 유일하게 테이블의 각 레코드를 식별한다.
- 기본 키는
UNIQUE
값을 포함해야 하며 NULL
값을 포함할 수 없다.
- 테이블에는 하나의 기본 키만 있을 수 있고, 테이블에서 이 기본 키는 단일 또는 다중 열(필드)로 구성된다.
2. PRIMARY KEY
on CREATE TABLE
- 다음은
Persons
테이블이 생성될 때 ID
열에 PRIMARY KEY
제약 조건을 생성한다.
1) MySQL
CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
PRIMARY KEY (ID)
);
2) 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
제약 조건을 정의하려면 다음 SQL 문을 사용한다.
CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
CONSTRAINT PK_Person PRIMARY KEY (ID, LastName)
);
- 참고로 위의 예에는 하나의
PRIMARY KEY
(PK_Person
)만 있다.
- 하지만 기본 키의
VALUE
는 2
개의 COLUMNS
(ID
+ LastName
)로 구성된다.
3. PRIMARY KEY
Constraint on ALTER TABLE
Persons
테이블이 이미 생성된 경우 ID
열에 PRIMARY KEY
제약 조건을 생성하려면 다음 SQL 문을 사용한다.
ALTER TABLE Persons
ADD PRIMARY KEY (ID);
PRIMARY KEY
제약 조건의 이름을 지정하고, 여러 열에 대한 PRIMARY KEY
제약 조건을 정의하려면 다음 SQL 문을 사용한다.
ALTER TABLE Persons
ADD CONSTRAINT PK_Person PRIMARY KEY (ID, LastName);
- 참고로
ALTER TABLE
문을 사용하여 기본 키를 추가하는 경우 기본 키 열은 테이블이 처음 생성되었을 때 NULL
값을 포함하지 않도록 선언되어야 한다.
4. DROP
a PRIMARY KEY
Constraint
PRIMARY KEY
제약 조건을 삭제하려면 다음 SQL 문을 사용한다.
1) MySQL
ALTER TABLE Persons
DROP PRIMARY KEY;
2) SQL Server / Oracle / MS Access
ALTER TABLE Persons
DROP CONSTRAINT PK_Person;
References