• MySQL매뉴얼
    • MySQL 5.6 매뉴얼
    • MySQL 5.1 매뉴얼
    • MySQL 5.0 매뉴얼
    • MySQL HA 매뉴얼
  • 기술문서
    • Xtrabackup 구성
    • 메모리 사용량 모니터링
  • 라이선스
  • 온라인문의
  • 회사소개
  • → 목 록 (MySQL5.6 한글메뉴얼) [close]
  • 1. MySQL 5.6 새로운 기능
  • 2. MySQL 설치 및 업그레이드
  • 3. MySQL Tutorial
  • 1. 서버에 연결 그리고 서버와 연결 끊기
    2. 쿼리 입력
    3. 데이터베이스 생성 및 사용
    1. 데이터베이스 생성 및 선택
    2. 테이블 만들기
    3. Loading Data into a Table
    4. 테이블에서 정보 검색
    1. 모든 데이터 선택
    2. 특정 행 선택
    3. 특정 컬럼의 선택
    4. 행 정렬
    5. 날짜 계산
    6. NULL 값 조작
    7. Pattern Matching
    8. Counting Rows
    9. 여러 테이블의 사용
    4. 데이터베이스 및 테이블 정보 가져 오기
    5. 배치 모드에서의 MySQL의 사용
    6. 일반적인 쿼리의 예제
    7. Apache와 MySQL 사용
  • 4. MySQL 프로그램
  • 5. MySQL 서버관리
  • 6. 보안
  • 7. 백업 및 복구
  • 8. 최적화
  • 9. Language Structure(언어구조)
  • 10. Character Sets(Globalization)
  • 11. 데이터형(Data Types)
  • 12. 함수와 연산자
  • 13. SQL 문법
  • 14. InnoDB 스토리지 엔진
  • 15. 기타 스토리지 엔진
  • 16. 고가용성 및 확장성
  • 17. 리플리케이션
  • 18. MySQL Cluster
  • 19. 파티셔닝
  • 20. Stored Programs and Views
  • 21. INFORMATION_SCHEMA
  • 22. PERFORMANCE SCHEMA
  • 23. 컨넥터 및 API
  • 24. MySQL 확장
  • 25. MySQL Enterprise Edition
  • 26. MySQL Workbench
  • 27. 제약 및 제한
  • 28. MySQL 5.7 새로운 기능

3.3.4.6 NULL 값 조작

NULL 값에 익숙해 질 때까지 놀랄지도 모릅니다. 개념적으로, NULL 은 "존재하지 않는 알 수없는 값"을 의미하고 다른 값과 약간 다르게 처리됩니다.

NULL 을 조사하기 위해 다음과 같이 IS NULL 및 IS NOT NULL 연산자를 사용합니다.

 mysql> SELECT 1 IS NULL, 1 IS NOT NULL;
+-----------+---------------+
| 1 IS NULL | 1 IS NOT NULL |
+-----------+---------------+
|         0 |             1 |
+-----------+---------------+

= , < 또는 <> 등의 산술 비교 연산자를 사용하여 NULL 을 테스트 할 수 없습니다. 이를 직접 확인하기 위해 다음의 쿼리를 실행하려고합니다.

 mysql> SELECT 1 = NULL, 1 <> NULL, 1 < NULL, 1 > NULL;
+----------+-----------+----------+----------+
| 1 = NULL | 1 <> NULL | 1 < NULL | 1 > NULL |
+----------+-----------+----------+----------+
|     NULL |      NULL |     NULL |     NULL |
+----------+-----------+----------+----------+

NULL 대한 산술 비교 결과도 모두 NULL 이되기 때문에 이러한 비교에서 의미있는 결과를 얻을 수 없습니다.

MySQL은 0 이나 NULL false를 의미하고 나머지는 모두 true를 의미합니다. boolean 연산의 기본 진리 값은 1 입니다.

NULL 이 이렇게 특별한 방법으로 처리 되었기 때문에 이전 섹션에서 어떤 동물이 더 이상 살아 있지 않은 것인지를 판단하기 위해 death <> NULL 이 아닌 death IS NOT NULL 을 사용하는 것이 필요 이었습니다.

GROUP BY 는 2 개의 NULL 값은 동일한 것으로 간주됩니다.

ORDER BY 를 수행하는 경우 NULL 값은 ORDER BY ... ASC 는 먼저 나타나고 ORDER BY ... DESC 에서는 마지막에 표시됩니다.

NULL 을 작업 할 때 일반적인 실수는 NOT NULL 로 정의 된 컬럼은 0 또는 빈 문자열을 삽입 할 수 없다고 가정하는 것입니다. 이들은 실제로 값이지만 한편 NULL 은 "값이없는"것을 의미합니다. 이것은 다음과 같이 IS [NOT] NULL 을 사용하여 매우 쉽게 테스트 할 수 있습니다.

 mysql> SELECT 0 IS NULL, 0 IS NOT NULL, '' IS NULL, '' IS NOT NULL;
+-----------+---------------+------------+----------------+
| 0 IS NULL | 0 IS NOT NULL | '' IS NULL | '' IS NOT NULL |
+-----------+---------------+------------+----------------+
|         0 |             1 |          0 |              1 |
+-----------+---------------+------------+----------------+

이와 같이, 0 또는 빈 문자열은 실제로 NOT NULL 이기 때문에 NOT NULL 컬럼에 삽입 할 수 있습니다. 섹션 B.5.5.3 "NULL 값 문제" 를 참조하십시오.

서울시 강남구 영동대로 602 6층
TEL: 02-6061-0006  /  E: csr@mysqlkorea.com
주식회사 이노클러스터  등록번호 : 727-86-02261
Copyright © innocluster Co. ltd. all rights reserved