Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL에서 컬럼 기본값을 NULL로 설정하는 방법 완벽 가이드

MySQL에서 기본값을 NULL로 설정하기

MySQL에서는 DEFAULT 키워드를 사용하여 컬럼의 기본값을 NULL로 지정할 수 있습니다. 이렇게 하면 데이터 삽입 시 해당 컬럼에 값을 명시하지 않아도 자동으로 NULL이 저장됩니다.

1. 기본값이 NULL인 테이블 생성

먼저 StudentName과 StudentAge 컬럼에 DEFAULT NULL을 적용한 테이블을 생성해 보겠습니다.

mysql> create table DemoTable1440
    -> (
    -> StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> StudentName varchar(20) DEFAULT NULL,
    -> StudentAge int DEFAULT NULL
    -> );
Query OK, 0 rows affected (0.55 sec)

2. 데이터 삽입 및 기본값 동작 확인

INSERT 명령을 사용하여 레코드를 삽입합니다. 이때 값을 지정하지 않은 컬럼에는 기본값인 NULL이 자동으로 입력됩니다.

mysql> insert into DemoTable1440(StudentName,StudentAge) values('Chris',21);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable1440 values();
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable1440(StudentName) values('David');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable1440(StudentAge) values(24);
Query OK, 1 row affected (0.09 sec)

3. 결과 조회

SELECT 문으로 테이블의 모든 레코드를 확인합니다.

mysql> select * from DemoTable1440;

실행 결과는 다음과 같습니다.

+-----------+-------------+------------+
| StudentId | StudentName | StudentAge |
+-----------+-------------+------------+
|         1 | Chris       |         21 |
|         2 | NULL        |       NULL |
|         3 | David       |       NULL |
|         4 | NULL        |         24 |
+-----------+-------------+------------+
4 rows in set (0.00 sec)

위 결과를 보면, 값이 지정되지 않은 컬럼에는 모두 NULL이 저장된 것을 확인할 수 있습니다.

기존 테이블의 컬럼 기본값을 NULL로 변경하기

이미 생성된 테이블의 경우 ALTER TABLE 문과 MODIFY 절을 사용하여 기본값을 NULL로 변경할 수 있습니다.

mysql> alter table DemoTable1440 modify StudentAge int DEFAULT NULL;

단, 컬럼이 NOT NULL 제약 조건을 갖고 있다면 기본값을 NULL로 설정할 수 없으므로, 필요하다면 NOT NULL 조건도 함께 해제해야 합니다.