본문 바로가기

데이터/MySQL

[MySQL] PRIMARY KEY

PRIMARY KEY (기본키)

PRIMARY KEY는 테이블의 각 레코드를 고유하게 식별하는 데 사용되는 열 또는 열의 집합입니다. 기본 키는 데이터베이스의 레코드를 식별하는 데 중요한 역할을 합니다.

 

PRIMARY KEY의 특징

1. 고유성 보장

PRIMARY KEY는 각 레코드를 유일하게 식별하는 데 사용되므로 중복 값을 가질 수 없습니다.

 

2. NULL 값 허용 안 함

PRIMARY KEY 열은 NULL 값을 허용하지 않습니다. 모든 레코드는 기본 키 값을 가져야 합니다.

 

3. 검색 성능 향상

PRIMARY KEY는 해당 열에 대한 인덱스를 자동으로 생성하므로 검색 성능이 향상됩니다.

 

4. 외래 키 참조 용이

다른 테이블에서 외래 키로 사용될 때 PRIMARY KEY를 참조하므로 두 테이블 간의 관계를 쉽게 정의할 수 있습니다.

 

PRIMARY KEY의 적절한 사용 사례

1. 레코드 식별

특정 테이블의 각 레코드를 고유하게 식별하는 데 사용됩니다. 주로 식별자 역할을 합니다.

 

2. 다른 테이블과의 관계 정의

다른 테이블에서 외래 키로 사용되어 두 테이블 간의 관계를 정의하는 데 사용됩니다.

 

PRIMARY KEY 예제

-- 테이블 생성 (사용자 테이블에서 user_id를 PRIMARY KEY로 사용)
CREATE TABLE users (
    user_id INT PRIMARY KEY,
    username VARCHAR(50) NOT NULL,
    email VARCHAR(100) NOT NULL
);

-- 데이터 삽입 (PRIMARY KEY인 user_id는 중복될 수 없음)
INSERT INTO users (user_id, username, email)
VALUES (1, 'john_doe', 'john@example.com');

-- 중복된 PRIMARY KEY로의 데이터 삽입 시도 (오류 발생)
INSERT INTO users (user_id, username, email)
VALUES (1, 'jane_smith', 'jane@example.com');

위 예제에서 `user_id` 열이 PRIMARY KEY로 지정되어 있습니다. 이를 통해 중복된 `user_id` 값을 가지는 데이터를 삽입하려고 하면 오류가 발생합니다.

'데이터 > MySQL' 카테고리의 다른 글

[MySQL] CREATE TABLE 문  (0) 2023.12.08
[MySQL] FOREIGN KEY  (0) 2023.12.06
[MySQL] AUTO INCREMENT  (1) 2023.12.06
[MySQL] CHECK 제약조건  (0) 2023.12.06
[MySQL] NOT NULL 제약조건  (1) 2023.12.06