코딩 스쿨 MySQL

언어선택 : HTMLCSSJAVAJAVASCRIPTMYSQLSQL PHP

MySQL Primary Key

MySQL PRIMARY KEY: 고유 식별자를 사용한 데이터 관리

PRIMARY KEY는 MySQL에서 테이블의 각 레코드를 고유하게 식별하는 데 사용되는 제약 조건입니다. 기본 키는 데이터베이스의 무결성을 유지하는 데 중요한 역할을 하며, 중복된 값이나 NULL 값을 허용하지 않습니다. 이 가이드는 MySQL에서 PRIMARY KEY를 설정하는 방법, 기본 문법 및 예제를 설명합니다.


1. 기본 개념

1.1. 정의

PRIMARY KEY는 테이블에서 각 행을 유일하게 식별하는 열 또는 열 조합입니다. 기본 키가 설정된 열은 다음과 같은 특성을 가집니다:

  • 고유성: 모든 행에서 기본 키의 값은 유일해야 합니다.
  • NULL 불허: 기본 키 열은 NULL 값을 가질 수 없습니다.

1.2. 기본 문법

PRIMARY KEY는 테이블을 생성할 때 또는 기존 테이블을 수정할 때 설정할 수 있습니다.

1.2.1. 테이블 생성 시 PRIMARY KEY 설정

CREATE TABLE table_name (
    column_name datatype PRIMARY KEY,
    ...
);

1.2.2. 여러 열로 PRIMARY KEY 설정

CREATE TABLE table_name (
    column1 datatype,
    column2 datatype,
    ...
    PRIMARY KEY (column1, column2)
);


2. PRIMARY KEY 사용 예제

2.1. 기본 테이블 생성

가장 간단한 형태로 기본 키를 설정하는 예제입니다.

CREATE TABLE users (
    id INT AUTO_INCREMENT,
    username VARCHAR(50) NOT NULL,
    email VARCHAR(100) NOT NULL,
    PRIMARY KEY (id)
);

이 쿼리는 users 테이블을 생성하며, id 열을 기본 키로 설정합니다. 이 열은 자동 증가(AUTO_INCREMENT)로 설정되어, 새로운 사용자 추가 시 자동으로 고유한 값을 부여받습니다.

2.2. 여러 열로 기본 키 설정

여러 열을 조합하여 기본 키를 설정할 수 있습니다.

CREATE TABLE orders (
    order_id INT,
    user_id INT,
    order_date DATETIME,
    PRIMARY KEY (order_id, user_id)
);

이 쿼리는 orders 테이블을 생성하며, order_iduser_id의 조합을 기본 키로 설정합니다. 이로 인해 같은 사용자에 대해 동일한 주문 ID가 존재할 수 없습니다.


3. PRIMARY KEY의 유용성

  1. 데이터 무결성 보장: PRIMARY KEY는 각 행이 고유하게 식별되도록 하여 데이터 무결성을 유지합니다.
  2. 효율적인 데이터 검색: 기본 키는 인덱스와 함께 사용되며, 데이터 검색을 더 빠르게 만들어줍니다.
  3. 관계 설정: 다른 테이블에서 외래 키(Foreign Key)를 설정하여 데이터베이스 간의 관계를 정의할 수 있습니다. 기본 키는 다른 테이블의 외래 키로 참조됩니다.

4. PRIMARY KEY 사용 시 주의사항

  1. 중복 값 금지: 기본 키로 설정된 열은 중복된 값을 가질 수 없습니다. 데이터베이스에 중복된 기본 키 값을 입력하려고 하면 오류가 발생합니다.
  2. NULL 값 금지: 기본 키는 NULL 값을 허용하지 않습니다. 기본 키로 설정된 열에 NULL 값을 입력하려고 하면 오류가 발생합니다.
  3. 기본 키 수정: 기본 키가 설정된 열의 값을 수정할 때는 주의해야 합니다. 다른 테이블에서 외래 키로 참조되고 있는 경우, 무결성 오류가 발생할 수 있습니다.
  4. 데이터 타입: 기본 키로 사용할 열의 데이터 타입은 적절하게 설정해야 하며, 특히 AUTO_INCREMENT와 같은 기능을 사용할 때는 정수형(INT)을 주로 사용합니다.

5. PRIMARY KEY 수정 및 삭제

기존 테이블에 PRIMARY KEY를 추가하거나 삭제할 수 있습니다.

5.1. PRIMARY KEY 추가

ALTER TABLE users
ADD PRIMARY KEY (id);

이 쿼리는 users 테이블에 id 열을 기본 키로 추가합니다. 이 열은 NULL 값을 허용하지 않으며, 고유한 값이어야 합니다.

5.2. PRIMARY KEY 삭제

기존의 PRIMARY KEY를 삭제하려면 다음과 같이 합니다.

ALTER TABLE users
DROP PRIMARY KEY;

이 쿼리는 users 테이블의 기본 키 제약 조건을 삭제합니다.


6. 요약

MySQL PRIMARY KEY는 데이터베이스 테이블에서 각 레코드를 고유하게 식별하는 데 사용되는 중요한 제약 조건입니다. 이를 통해 데이터 무결성을 보장하고, 데이터 간의 관계를 정의할 수 있습니다.

  • 정의: 테이블의 각 행을 고유하게 식별.
  • 고유성: 기본 키는 중복된 값을 허용하지 않음.
  • NULL 불허: 기본 키는 NULL 값을 가질 수 없음.
  • 유용성: 데이터 무결성 유지, 효율적인 데이터 검색, 관계 설정.

MySQL의 PRIMARY KEY를 활용하여 효율적이고 안정적인 데이터 관리를 수행할 수 있습니다.


copyright ⓒ 스타트코딩 all rights reserved.
이메일 : startcodingim@gamil.com