2013. 7. 29. 17:31

출처 : http://www.zetswing.com/bbs/board.php?bo_table=MySQL_LEC&wr_id=46


1.null값이란?

 

RDBMS에서 null 은 0이나 공백이 아닌 값을 알수가 없다입니다. 이말은 값이 없다 입니다.

이는 Mysql상에서 문자열을 합치거나 수치를 계산할때 문제가 됩니다. 특히 수치계산일때는 not null로 하거나 defailt 옵션을 주어야 합니다.

 

2.null값의 잘못된 처리

 

수치의 경우

cretae table lee(

a int null,

b int null);

insert into lee values(null,12);

select a+b from lee;

라고 한다면 12가 나올것 같지만 null값이 포함된 계산식은 무조건 null이 나옵니다.

그래서 defailt 문을 써주는게 좋거나 not null을 사용하는게 좋습니다.

 

문자열의 경우

cretae table lee(

a varchar(10) null,

b varchar(10) null);

insert into lee values(null,'lee');

select concat(a,b) from lee;

라고 한다면  nulllee나 lee가 나올것 같지만 결과는 null로 나온다.

 

3.많은 양의 null처리

 

상당히 많은 양의 레코드에 null이 있다면 계산하거나 문자열을 연결하는데 문제가 많다.

update table_name set num=0 where num is null;

update table_name set num='' where num is null;

와같이 null값을 지정된 문자나 숫자로 바꾸어준다.

 

※ table을 만들시에 모든컬럼에 not null을 주는게 좋습니다.

'DBMS > MySQL' 카테고리의 다른 글

MYSQL 에서 그룹함수(group by)  (0) 2013.07.29
숫자관련 데이타형에 문자형식으로 insert하기  (0) 2013.07.29
MYSQL 성능 향상 정리  (0) 2013.07.29
초급QUERY  (0) 2013.07.29
JOIN(조인) 사용하기  (0) 2013.07.29
Posted by 1+1은?