Data Analyst/SQL

SQL - MySQL Constraints - 2

hmm06 2024. 8. 22. 20:43

DEFAULT 제약 조건 이란?

테이블의 특정 열에 기본값(Default Value)을 설정할 수 있도록 도와줍니다.

즉, 사용자가 값을 입력하지 않으면 해당 열에 기본값이 자동으로 삽입됩니다.

 

커스터마이징 가능: 기본값과 다른 값을 저장하고 싶다면, 데이터 입력 시 해당 값을 명시적으로 지정할 수 있습니다.

 

DEFAULT 제약 조건 사용방법

CREATE TABLE customers
(
    customer_id INT,
    first_name VARCHAR(255),
    last_name VARCHAR(255),
    email_address VARCHAR(255),
    number_of_complaints INT DEFAULT 0,
    PRIMARY KEY (customer_id)
);

위 예시에서는 number_of_complaints 열에 기본값으로 0이 설정되었습니다.

사용자가 따로 값을 입력하지 않으면 이 기본값이 사용됩니다.

 


NOT NULL 제약 조건 이란?

이 제약 조건은 테이블의 특정 열이 NULL 값을 가질 수 없도록 제한합니다.

즉, 데이터를 삽입할 때 해당 열에 반드시 값을 제공해야 하며, 비어 있으면 안 됩니다.

 

NULL 값과의 차이: NULL 값은 값이 존재하지 않음을 의미하며, 0이나 "NONE"과는 다릅니다.

0은 숫자 값이고, "NONE"은 문자 값이지만, NULL은 그 어떤 값도 없는 상태를 나타냅니다.

 

NULL 값의 의미: NULL은 값이 없는 상태를 의미하며, 0이나 "NONE"과 혼동하지 말아야 합니다.

 

NOT NULL 제약 조건 사용방법

CREATE TABLE companies
(
    company_id INT AUTO_INCREMENT,
    headquarters_phone_number VARCHAR(255),
    company_name VARCHAR(255) NOT NULL,
    PRIMARY KEY (company_id)
);

-- not null -> null로 바꾸는 방법 1
alter table companies
modify company_name varchar(255) null;
-- modify를 사용하면 not null -> null로 바꿀 수 있다.

-- not null -> null로 바꾸는 방법 2
alter table companies
change column company_name company_name varchar(255) not null;

 

728x90