NOT NULL 제약조건
NOT NULL 제약조건은 특정 열에 NULL 값을 허용하지 않도록 강제합니다. 이는 해당 열에는 반드시 데이터가 존재해야 한다는 의미입니다.
NOT NULL 제약조건의 특징
1. NULL 값 허용 안 함
NOT NULL 제약을 가진 열에는 NULL 값이 들어갈 수 없습니다.
2. 기본적으로 NULL
특별한 제약이 없는 경우, 열은 기본적으로 NULL을 허용합니다.
3. 데이터 일관성 유지
NOT NULL 제약을 사용하면 데이터 일관성을 유지하고 누락된 데이터를 방지할 수 있습니다.
NOT NULL 제약조건의 적절한 사용 사례
1. 필수 정보 저장
사용자의 이름, 이메일 주소, 비밀번호 등 필수 정보를 저장할 때 사용됩니다.
2. 외래 키 정의 시
외래 키로 사용되는 열은 참조된 테이블에 반드시 일치하는 값이 있어야 하므로 NOT NULL 제약을 사용합니다.
NOT NULL 제약조건 예제
-- 테이블 생성 (NOT NULL 제약을 가진 사용자 테이블)
CREATE TABLE users (
user_id INT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL
);
-- 데이터 삽입 (NULL 값을 가지는 열에 데이터 삽입 시도 - 오류 발생)
INSERT INTO users (user_id, username, email)
VALUES (1, NULL, 'john@example.com');
-- 올바른 데이터 삽입
INSERT INTO users (user_id, username, email)
VALUES (2, 'john_doe', 'john@example.com');
위 예제에서 `username`과 `email` 열에는 NOT NULL 제약이 걸려 있습니다. 따라서 NULL 값을 가지는 데이터를 삽입하려고 하면 오류가 발생합니다.
'데이터 > MySQL' 카테고리의 다른 글
[MySQL] AUTO INCREMENT (1) | 2023.12.06 |
---|---|
[MySQL] CHECK 제약조건 (0) | 2023.12.06 |
[MySQL] UNIQUE 제약조건 (1) | 2023.12.06 |
[MySQL] TINYINT(1) 데이터 타입 (2) | 2023.12.05 |
[MySQL] DECIMAL 데이터 타입 (1) | 2023.12.05 |