1. NOT NULL 제약조건이란?

NOT NULL 제약조건은 특정 컬럼이 NULL 값을 가질 수 없도록 설정하는 제약조건입니다.

즉, 해당 컬럼에는 반드시 값이 입력되어야 하며, NULL 값을 허용하지 않습니다.


2. NOT NULL 제약조건 적용 방법

(1) 테이블 생성 시 지정

CREATE TABLE students (
    student_id NUMBER PRIMARY KEY,
    name VARCHAR2(100) NOT NULL,  -- 반드시 값이 있어야 함
    age NUMBER
);

name 컬럼에 NOT NULL 제약조건이 적용되어 NULL 입력이 불가능합니다.

(2) ALTER TABLE을 사용하여 추가

ALTER TABLE students MODIFY name VARCHAR2(100) NOT NULL;

✅ 기존 테이블에서 특정 컬럼을 NOT NULL로 변경할 수 있습니다.


3. NOT NULL 제약조건의 특징

  1. 기본적으로 이름이 없는 제약조건

  2. 이름 지정 가능하지만 잘 사용하지 않는 이유

    NOT NULL 제약조건에도 이름을 부여할 수 있지만, 일반적으로 잘 사용하지 않습니다.

    ✅ 이름 지정하는 방법

    ALTER TABLE students MODIFY name CONSTRAINT name_not_null NOT NULL;
    

    name 컬럼의 NOT NULL 제약조건에 name_not_null이라는 이름을 부여할 수 있습니다.

    ❓ 하지만, 이름을 잘 지정하지 않는 이유:


4. NOT NULL 제약조건 활용 예제

NOT NULL과 다른 제약조건을 함께 사용하는 예제

CREATE TABLE courses (
    course_id NUMBER PRIMARY KEY,
    course_name VARCHAR2(200) CONSTRAINT course_name_not_null NOT NULL,
    duration NUMBER CHECK (duration > 0)
);