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
'Data Analyst > SQL' 카테고리의 다른 글
SQL - DELETE, TRUNCATE, Aggregate functions(집계함수), IFNULL - COALESCE (0) | 2024.08.29 |
---|---|
SQL - The INSERT Statement, The UPDATE Statement, COMMIT and ROLLBACK (0) | 2024.08.28 |
SQL - Wildcard, IS NULL, Between AND, Distinct, Aggregate Function, Group By, Having, Limit (0) | 2024.08.27 |
SQL - SELECT, WHERE, AND, OR, IN-NOT IN (0) | 2024.08.26 |
SQL - MySQL Constraints - 1 (0) | 2024.08.22 |