본문 바로가기

Database/DB

mysql int bigint

mysql을 사용하면서  몰랐던 정보들을 알아서 적어본다. 


int / bigint 에 관한 내용인데 


먼저 int / bigint 의 최대값은 unsigned 일 경우 각각 4억과 4천경이다(저만큼 넣을 데이터가 있는건가..)......


int는 4바이트(자릿수 10자리)


bigint는 8바이트로 (자릿수 20자리) 로 생각면 된다. 


자세한 사항은 공식 홈피 확인


https://dev.mysql.com/doc/refman/5.5/en/integer-types.html




두번째로 대부분 많은 분들이 테이블 선언시 int(4) 하면 4자리까지만 들어간다고 생각하실수도 있는데 (실은 내가 그랬다.)


만일 3자리 숫자 999 를 넣었다면 출력될때 0999 로 해당 4자리이하일때 앞에 0을 붙여서 내보낸다. (zerofill 옵션)


물론 저장할때엔 그냥 999로 저장함. 


그러니 테이블 생성할때 int(숫자)라면 단순히 zerofill 옵션이니 필요없다면 굳이 사용안해도 된다. (자릿수를 위한거라면 TINYINT / SMALLINT / MEDIUMINT 을 써야 옳다.)