SQL/MySQL

MySQL 자주 쓰는 숫자 데이터 타입(Numeric Data Types) 간단 정리

진리뷰 2023. 9. 18. 09:00
반응형

 

 

MySQL-자주-쓰는-숫자-데이터-타입-numeric-types-간단-정리-썸네일
MySQL 숫자 데이터 타입 간단 정리

 

 

이 글은 MySQL 숫자 데이터 타입 개념, 자주 쓰는 숫자 데이터 타입 추천과 설명을 간단히 정리한 글입니다.

 

 

MySQL 데이터 타입

 

데이터 타입은 종류별 데이터 저장 공간이 다르며, 작을수록 CPU 소비가 줄고 더 빠릅니다.

하지만 무조건 가장 작다고 좋거나, 가장 크다고 나쁜 것은 아닙니다.

데이터 입력 범위를 고려한 적정 크기의 타입 사용이 가장 좋습니다.

 

데이터는 숫자, 문자, 영상, 그림 등등 다양한 타입으로 존재합니다.

그중 MySQL에서 자주 쓰는 기본 데이터 타입은 숫자, 문자, 날짜(시간)입니다.

 

아이디 이름 가입일
3891 김나나 2023-01-01
20013 한나라 2013-02-02

 

 

MySQL 숫자 데이터

 

MySQL 숫자 데이터는 소수점 사용 가능 여부에 따라 정수와 실수 타입으로 분류됩니다.

 

정수(소수점X)
양의 정수(+, 자연수) 1, 29, 54, 172, +2, +88...
0
음의 정수(-) -1, -29, -54, -172, -2, -88...

 

실수(소수점O, 굉장히 큰 수)
-8.4, 13.5, -200.42, 5238.833.... 
-3.4141242112312313, 10.68849123678*10^10...

 

 

정수 데이터 타입(INT, INTEGER)

 

정수 타입은 음수 사용 여부에 따라 signed와 unsigned로 분류됩니다.

  • signed: 음수~양수 입력 모두 가능합니다.
  • unsigned: 0~양수 입력만 가능하지만 signed보다 더 큰 수를 입력할 수 있습니다.

 

정수 타입 저장 공간 입력 가능 수 범위 signed 입력 가능 수 범위 unsigned
INT 4Byte -2147483648 ~ +2147483647
(약 ±21억)
0 ~ 4294967295
BIGINT 8Byte -9223372036854775808 ~ +9223372036854775807
(약 ±900경)
0 ~ 18446744073709551615
TINYINT 1Byte -128 ~ +127 0 ~ 255
SMALLINT 2Byte -32768 ~ +32767 0 ~ 65535
MEDIUMINT 3Byte  -8388608 ~ +8388607
(약 ±838만)
0 ~ 16777215

 

앞서 언급했듯 저장 공간과 용이성 등을 고려하면, 정수 타입 중 INT를 자주 씁니다.

더 큰 숫자를 다루면 BIGINT도 씁니다.

*정수 타입 관련 글 추천 MySQL 금액 타입(INT), 숫자 천 단위 콤마 찍기 FORMAT 함수 예시

 

정수 타입 사용 시 INT(N), BIGINT(N)처럼 입력할 수 있습니다.

  • N: 자릿수, ZEROFILL 옵션 선택(=unsigned) 시 제기능, ex. INT(3)=002, INT(5)=00342
  • ZEROFILL: 자릿수를 0으로 채우는 기능, ex. zerofill 설정 x = 1, zerofill 설정 o = 01, 001...

 

 

실수 데이터 타입 

 

실수 타입은 소수와 더불어, BIGINT를 넘어서는 굉장히 큰 수까지 다룹니다.

또한 소수점 표현에 있어, 고정 소수점과 부동 소수점으로 분류됩니다.

  • 고정 소수점(fixed-point types): 참값으로, 정확한 소수점 값을 나타냅니다.
  • 부동 소수점(floating-point types): 근삿값이기에 다소 부정확한 소수 값을 나타냅니다.

 

하지만 MySQL에서 "실수 타입(M,D)"으로 입력한다면, 부동 소수점 타입을 고정 소수점 타입처럼 사용할 수도 있습니다.

*M: 실수의 총 자릿수(소수점 아래 자리 수 포함), D: 소수점 아래 자릿수

*유효숫자: 숫자 정확도에 유의미한 수, 자릿수 표현하는 0은 제외(ex. 111=유효숫자 3개, 0.011=유효숫자 2개)

 

실수 타입 저장 공간 속성
DECIMAL 가변 고정 소수점, 최대 65자리 입력 가능
DECIMAL(M,D)
*D=0: 소수표현X

ex. DECIMAL(4,1): +359.1, -123.5... 
ex. DECIMAL(3,0): +271, -120...
FLOAT 4Byte 부동 소수점, 소수점 아래 7자리
FLOAT(M,D)
DOUBLE 8Byte 부동 소수점, 소수점 아래 15자리
DOUBLE(M,D)

 

FLOAT를 소수점 표현 시 자주 사용합니다.

DECIMAL(M,0)은 소수를 표현하지 않으므로, 정수타입처럼 사용할 수 있습니다.

그러나 저장 공간 등을 고려하면 INT, BIGINT 등을 사용하는 것이 좋습니다.

반응형
top