Database/MySQL

[MySQL] 제약조건(Constraints): 데이터 무결성 유지하기

루루23 2024. 10. 11. 14:57
반응형

제약조건(Constraints)은 테이블에 저장되는 데이터가 유효하고 일관성을 유지할 수 있도록 도와주는 규칙입니다.
제약조건을 적절히 설정하면, 잘못된 데이터가 데이터베이스에 삽입되는 것을 방지하고 데이터의 무결성을 보장할 수 있습니다.

 

1. NOT NULL 

테이블의 특정 열(column)에 NULL 값을 허용하지 않도록 합니다.

즉, 데이터를 삽입할 때 반드시 값을 입력해야 하는 필드에 사용합니다.

 

CREATE TABLE myhero (
    id INT NOT NULL,
    name VARCHAR(50) NOT NULL
);

 

여기서 idname 열은 NOT NULL로 설정되어 있기 때문에 비워두고 데이터를 삽입하려고 하면 오류가 발생합니다.

 

2. UNIQUE

특정 열의 값이 테이블 내에서 고유해야 한다는 것을 보장합니다.

동일한 값을 가진 다른 행이 있으면 오류가 발생하기 때문에 주로 이메일, 사용자 이름 등 중복이 없어야 하는 필드에 사용됩니다.

 

CREATE TABLE myhero (
    id INT UNIQUE,
    name VARCHAR(50) NOT NULL
);

 

 

동일한 id를 가진 데이터가 테이블에 들어오지 못하도록 방지할 수 있습니다.

 

3. PRIMARY KEY

테이블의 각 행을 고유하게 식별하는 데 사용됩니다.

기본 키는 NOT NULLUNIQUE 제약조건을 모두 포함하며, 테이블 당 하나만 설정할 수 있습니다.

CREATE TABLE myhero (
    id INT PRIMARY KEY,
    name VARCHAR(50) NOT NULL
);

이 예제에서 id는 테이블의 PRIMARY KEY로 설정되어 있어서 고유한 값을 가져야 하고, 중복되거나 비워둘 수 없어요. PRIMARY KEY는 테이블에서 각 행을 유일하게 구분하는 필수적인 제약조건이에요.

 

4. FOREIGN KEY 

한 테이블의 열이 다른 테이블의 기본 키를 참조하게 함으로써 테이블 간의 관계를 정의합니다.

 

[MySQL] 외래 키(Foreign Key)란?

MySQL의 외래 키(Foreign Key)는 두 테이블 간의 관계를 정의할 때 사용되는 중요한 개념입니다.이 글에서는 외래 키의 개념을 간단한 예제와 함께 살표보겠습니다. 외래 키 정의외래 키(Foreign Key)는

newj23.tistory.com

 

 

5. CHECK

열에 입력되는 값이 특정 조건을 만족하는지 확인할 때 사용됩니다.

CREATE TABLE myhero (
    id INT PRIMARY KEY,
    power INT CHECK (power >= 0)
);

 

이 예제에서 power 열은 0 이상의 값만 삽입 가능하고, 만약 0 미만의 값을 입력하려고 하면 오류가 발생합니다.

 

 

6. DEFAULT

특정 열에 값을 입력하지 않았을 때 자동으로 기본값을 삽입합니다.

 

CREATE TABLE Employees (
    id INT PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    tier CHAR(5) DEFAULT '0+'
);

 

tier 값이 입력되지 않으면, 자동으로 '0+' 값이 들어가게 됩니다.

반응형