SQL 강좌 43. SQL PRIMARY KEY Constraints

SQL PRIMARY KEY Constraint

PRIMARY KEY는 데이터베이스 테이블안에서 각 레코드들을 유일하게 구분한다.
primary key들은 UNIQUE값들을 반드시 포함하고 NULL값을 받을 수 없다.

SQL PRIMARY KEY on CREATE TABLE

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
);

여러개의 column들에 PRIMARY KEY constraint를 걸 수 있다. 이 경우에는 단 한개의 Primary key가 여러 column으로 이루어 진 것이다. 그러므로 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)
);

SQL PRIMARY KEY on ALTER TABLE

이미 만들어진 테이블에서 PRIMARY KEY설정하기

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD PRIMARY KEY (ID);

여러개 column에 PRIMARY KEY설정하기

ALTER TABLE Persons
ADD CONSTRAINT PK_Person PRIMARY KEY (ID, LastName);

Note: 이미 생성된 테이블에 primary key를 생성할 때는 NULL 값이 없음을 선언해야한다.

DROP a PRIMARY KEY Constraint

MySQL:

ALTER TABLE Persons
DROP PRIMARY KEY;

SQL Server / Oracle / MS Access:

ALTER TABLE Persons
DROP CONSTRAINT PK_Person;

Comments