코딩 스쿨 SQL

언어선택 : HTMLCSSJAVAJAVASCRIPTMYSQLSQL PHP

SQL Not Null

SQL NOT NULL: NULL 값 허용 금지

SQL NOT NULL 제약 조건은 테이블의 특정 열에 NULL 값을 허용하지 않도록 설정하는 제약 조건입니다. 즉, 이 제약 조건이 설정된 열은 반드시 값을 입력해야 하며, 데이터 삽입 시 NULL 값이 들어갈 수 없습니다.

1. NOT NULL 기본 문법

CREATE TABLE 테이블_이름 (
    열_이름 데이터_타입 NOT NULL
);

  • 열_이름: 테이블에 추가할 열의 이름.
  • 데이터_타입: 열에 저장될 데이터의 유형.
  • NOT NULL: 해당 열에 NULL 값이 들어갈 수 없음을 명시.

2. NOT NULL 예제

2.1 테이블 생성 시 NOT NULL 설정

다음은 employees 테이블에서 name 열에 NOT NULL 제약 조건을 설정하는 예입니다.

CREATE TABLE employees (
    employee_id INT,
    name VARCHAR(100) NOT NULL,  -- NULL 값 허용하지 않음
    department VARCHAR(50)
);

이 명령은 employees 테이블을 생성하며, name 열에 NOT NULL 제약 조건을 설정하여 이름을 반드시 입력해야 함을 보장합니다.


2.2 테이블 생성 후 NOT NULL 제약 조건 추가

기존 테이블에 NOT NULL 제약 조건을 추가하려면 ALTER TABLE 명령을 사용할 수 있습니다.

문법

ALTER TABLE 테이블_이름
MODIFY 열_이름 데이터_타입 NOT NULL;

예제: employees 테이블의 department 열에 NOT NULL 제약 조건 추가

ALTER TABLE employees
MODIFY department VARCHAR(50) NOT NULL;

이 명령은 employees 테이블에서 department 열에 NOT NULL 제약 조건을 추가하여, 부서 이름이 반드시 입력되도록 설정합니다.


3. NOT NULL 제약 조건 제거

NOT NULL 제약 조건을 제거할 수도 있습니다. 기존 열에서 NOT NULL 제약 조건을 제거하려면 ALTER TABLE 문을 사용하여 열을 수정합니다.

문법

ALTER TABLE 테이블_이름
MODIFY 열_이름 데이터_타입 NULL;

예제: employees 테이블에서 department 열의 NOT NULL 제약 조건 제거

ALTER TABLE employees
MODIFY department VARCHAR(50) NULL;

이 명령은 employees 테이블에서 department 열의 NOT NULL 제약 조건을 제거하여, 이제 이 열에 NULL 값을 허용하게 됩니다.


4. NULL과 NOT NULL 비교

  • NULL: 아무 값도 없는 상태를 의미합니다. NULL은 값 자체가 없는 것이므로, 알 수 없는 값으로 취급됩니다.
  • NOT NULL: 해당 열에 반드시 값이 입력되어야 함을 보장합니다. NULL 값이 허용되지 않으며, 값을 입력하지 않으면 오류가 발생합니다.

5. 실전 예제

예제 1: 직원 테이블 생성 시 NOT NULL 설정

CREATE TABLE employees (
    employee_id INT PRIMARY KEY,
    name VARCHAR(100) NOT NULL,  -- 이름은 반드시 입력해야 함
    department VARCHAR(50),
    hire_date DATE NOT NULL  -- 입사일도 반드시 입력해야 함
);

이 예제는 employee_id, name, hire_date 열에 NOT NULL 제약 조건을 설정하여 NULL 값을 허용하지 않습니다.

예제 2: 테이블 수정 후 NOT NULL 추가

ALTER TABLE employees
MODIFY department VARCHAR(50) NOT NULL;

이 명령은 employees 테이블의 department 열에 NOT NULL 제약 조건을 추가하여 부서 이름이 반드시 입력되도록 설정합니다.


6. 요약

  • NOT NULL 제약 조건은 열에 NULL 값이 저장되지 않도록 보장합니다.
  • 테이블을 생성할 때나 테이블을 수정할 때 NOT NULL 제약 조건을 추가할 수 있습니다.
  • NOT NULL 제약 조건을 설정하면 데이터 삽입 시 해당 열에 반드시 값이 입력되어야 합니다.
  • 기존 열에 NOT NULL 제약 조건을 추가하거나 제거하려면 ALTER TABLE 명령을 사용합니다.

NOT NULL 제약 조건은 데이터베이스에서 중요한 필수 데이터를 빈 값으로 남겨두지 않도록 방지하여 데이터 무결성을 유지하는 데 유용합니다.


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