여러분이 사용하고 계신 브라우저는 HTML5를 지원하지 않기 때문에 몇몇 요소가 제대로 보이도록 JScript를 사용하고 있습니다. 하지만 여러분의 브라우저 설정에서 스크립트 기능이 꺼져있으므로, 현재 페이지를 제대로 확인하시려면 스크립트 기능을 켜주셔야 합니다. SQL - PRIMARY KEY 제약 조건
SQL – PRIMARY KEY 제약 조건
2년전 작성
1년전 수정

PRIMARY KEY Constraint

PRIMARY KEY 제약 조건은 테이블의 각 레코드를 고유하게 식별한다.

PRIMARY KEY는 UNIQUE 값을 포함해야 하며 NULL 값을 포함할 수 없다.

테이블에는 하나의 PRIMARY KEY만 있을 수 있다.
테이블에서 이 PRIMARY KEY는 단일 또는 다중 열(필드)로 구성될 수 있다.

CREATE TABLE에서 PRIMARY KEY

“Persons” 테이블이 생성될 때 “ID” 열에 기본 키를 생성
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 제약 조건을 정의
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)
);

⭐ 위의 예에서는 PRIMARY KEY(PK_Person)가 하나만 있다. 그러나 PRIMARY KEY의 값은 두 개의 열(ID + 성)로 구성된다.

ALTER TABLE에서 PRIMARY KEY

테이블이 이미 생성되었을 때 “ID” 열에 PRIMARY KEY 제약 조건을 생성
MySQL / SQL Server / Oracle / MS Access
ALTER TABLE Persons
ADD PRIMARY KEY (ID);
PRIMARY KEY 제약 조건의 이름을 지정하고 여러 열에 PRIMARY KEY 제약 조건을 정의
MySQL / SQL Server / Oracle / MS Access
ALTER TABLE Persons
ADD CONSTRAINT PK_Person PRIMARY KEY (ID,LastName);

⭐ ALTER TABLE을 사용하여 PRIMARY KEY를 추가할 경우 테이블이 처음 생성되었을 때 PRIMARY KEY 열에 NULL 값이 포함되지 않도록 선언되어 있어야한다.

PRIMARY KEY 제약 조건 삭제

MySQL
ALTER TABLE Persons
DROP PRIMARY KEY;
SQL Server / Oracle / MS Access
ALTER TABLE Persons
DROP CONSTRAINT PK_Person;
참고

Mingg`s Diary
밍구
공부 목적 블로그