[sql] NULL 값 처리를 위한 컬럼 수준 제약 조건

NULL 값은 데이터베이스 테이블에서 누락된 정보를 표현하는 데 사용됩니다. 때때로 특정 컬럼에서는 NULL 값이 허용되지 않도록 제약을 설정해야 할 수 있습니다. 이를 위해 SQL에서는 제약 조건(Constraint)을 사용할 수 있습니다.

1. NOT NULL 제약 조건

NOT NULL 제약 조건은 특정 컬럼에 NULL 값을 허용하지 않도록 지정하는 제약 조건입니다. 이를 통해 데이터의 일관성을 유지할 수 있으며, 해당 컬럼에 항상 값이 존재함을 보장할 수 있습니다.

다음은 NOT NULL 제약 조건을 설정하는 SQL문의 예시입니다.

CREATE TABLE 테이블명 (
    컬럼명 데이터_타입 NOT NULL,
    ...
);

예를 들어, 사용자 테이블의 이름 컬럼에는 NULL 값을 허용하지 않는다면, 다음과 같이 제약 조건을 설정할 수 있습니다.

CREATE TABLE 사용자 (
    아이디 INT,
    이름 VARCHAR(50) NOT NULL,
    ...
);

2. NULL 제약 조건 해제

반대로, 기존에 NOT NULL 제약 조건이 설정된 컬럼에 대해 NULL 값을 허용하고자 할 때에는 해당 제약 조건을 해제해야 합니다. 이를 위해 ALTER TABLE문을 사용하여 제약 조건을 수정할 수 있습니다.

다음은 NOT NULL 제약 조건을 해제하는 SQL문의 예시입니다.

ALTER TABLE 테이블명
    ALTER COLUMN 컬럼명 데이터_타입 NULL;

예를 들어, 사용자 테이블의 이름 컬럼에 대해 NULL 값을 허용하고자 할 때에는 다음과 같이 제약 조건을 해제할 수 있습니다.

ALTER TABLE 사용자
    ALTER COLUMN 이름 VARCHAR(50) NULL;

이러한 NOT NULLNULL 제약 조건을 통해 데이터베이스의 데이터 무결성을 유지하고 정확한 정보를 저장할 수 있습니다.

참고 자료