MySQL에서 NULL 값 삽입하기
MySQL에서 특정 컬럼에 NULL 값을 삽입하려면 UPDATE 명령문을 사용하면 됩니다. 기본 문법은 다음과 같습니다.
UPDATE 테이블이름 SET 컬럼이름 = NULL;
이제 실제 예제를 통해 단계별로 살펴보겠습니다.
1단계: 테이블 생성
먼저 예제에 사용할 테이블을 생성합니다.
mysql> create table insertNullValue
-> (
-> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> ClientName varchar(100),
-> ClientCountryName varchar(20)
-> );
Query OK, 0 rows affected (0.54 sec)2단계: 데이터 삽입
INSERT 명령문을 사용해 몇 개의 레코드를 추가합니다.
mysql> insert into insertNullValue(ClientName,ClientCountryName) values('Larry','US');
Query OK, 1 row affected (0.19 sec)
mysql> insert into insertNullValue(ClientName,ClientCountryName) values('David','AUS');
Query OK, 1 row affected (0.09 sec)
mysql> insert into insertNullValue(ClientName,ClientCountryName) values('Bob','UK');
Query OK, 1 row affected (0.17 sec)3단계: 현재 데이터 확인
SELECT 문으로 테이블의 모든 레코드를 조회합니다.
mysql> select * from insertNullValue;
실행 결과는 다음과 같습니다.
+----+------------+-------------------+ | Id | ClientName | ClientCountryName | +----+------------+-------------------+ | 1 | Larry | US | | 2 | David | AUS | | 3 | Bob | UK | +----+------------+-------------------+ 3 rows in set (0.00 sec)
4단계: UPDATE 문으로 NULL 값 설정
이제 UPDATE 문을 사용하여 'ClientCountryName' 컬럼의 값을 NULL로 변경합니다.
mysql> update insertNullValue set ClientCountryName=NULL; Query OK, 3 rows affected (0.19 sec) Rows matched: 3 Changed: 3 Warnings: 0
5단계: NULL 값 적용 확인
NULL 값이 정상적으로 삽입되었는지 다시 조회해 보겠습니다.
mysql> select * from insertNullValue;
결과를 보면 'ClientCountryName' 컬럼의 모든 값이 NULL로 변경된 것을 확인할 수 있습니다.
+----+------------+-------------------+ | Id | ClientName | ClientCountryName | +----+------------+-------------------+ | 1 | Larry | NULL | | 2 | David | NULL | | 3 | Bob | NULL | +----+------------+-------------------+ 3 rows in set (0.00 sec)
추가 팁: WHERE 절 활용하기
위 예제는 테이블의 모든 행을 NULL로 변경했습니다. 만약 특정 조건에 해당하는 행만 NULL로 설정하고 싶다면 WHERE 절을 함께 사용하세요.
mysql> update insertNullValue set ClientCountryName=NULL where Id=2;
또한 INSERT 시점부터 NULL을 넣고 싶다면 해당 컬럼을 생략하거나 명시적으로 NULL을 지정할 수 있습니다.
mysql> insert into insertNullValue(ClientName,ClientCountryName) values('Alice',NULL);단, 컬럼 정의가 NOT NULL 제약조건을 가지고 있다면 NULL 값을 삽입할 수 없으므로 주의해야 합니다.