본문 바로가기
Database/MySQL

MySQL Numeric Type

by oncerun 2020. 5. 8.
반응형

 

MySQL에서 테이블을 정의할 때는 필드별로 저장할 수 있는 타입을 명시해야 합니다.

 

기본 타입

  • 숫자 타입
  • 문자열 타입
  • 날짜와 시간 타입

숫자 타입(numeric types)

 

MySQL Refence에서 제공해주는 숫자 타입의 설명입니다.

 

MySQL은 모든 표준 SQL 숫자 데이터 유형을 지원합니다. 이러한 유형에는 정확한 숫자 데이터 유형 (INTEGER, SMALLINT, DECIMAL 및 NUMERIC)과 대략적인 숫자 데이터 유형 (FLOAT, REAL 및 DOUBLE PRECISION)이 포함됩니다. 키워드 INT는 INTEGER의 동의어이고 키워드 DEC 및 FIXED는 DECIMAL의 동의어입니다.

MySQL은 DOUBLE을 DOUBLE PRECISION (비표준 확장)의 동의어로 취급합니다. 또한 REAL_AS_FLOAT SQL 모드가 활성화되어 있지 않으면 MySQL은 REAL을 DOUBLE PRECISION (비표준 변형)의 동의어로 취급합니다.

 

 

 

MySQL은 SQL 표준 정수 타입인 INTEGER == INT와 SMALLINT를 제공합니다.

또한 , 표준 정수 타입의 범위를 확장한 TINYINT , MEDIUMINT , BIGINT까지 제공해주고 있습니다.

 

각 정수 타입에 따라 요구되는 저장 공간과 표현할 수 있는 최댓값과 최솟값까지 달라집니다.

또한, 정수 타입은 음수까지 표현할 수 있는 SIGNED 타입과 양수만 표현할 수 있는 UNSIGNED로 구분됩니다.

 

 

타입 저장 공간 최솟값 최댓값
Signed Unsigned Signed Unsigned
TINYINT 1바이트 -128 0 127 255
SMALLINT 2바이트 -32768 0 32767 65535
MEDIUMINT 3바이트 -8388608 0 8388067 16777215
INT 4바이트 -2147483648 0 2147483647 4294967295
BIGINT 8바이트 -9223372036854775808 0 9223372036854775807 18446744073709551615

 

 

2) 고정 소수점 타입(fixed-point types)

 

MySQL에서 고정 소수점 타입인 DECIMAL은 실수의 값을 정확하게 위해 사용됩니다. 최댓값은 65입니다.

DECIMAL에서 사용하는 고정 소수점 방식은 실수를 표현할 때 소수부의 자릿수를 고정하여 표현합니다.

 

EX) DECIMAL(M, D)

M : 소수 부분을 포함한 실수의 총자릿수를 나타냅니다.

D : 소수 부분의 자릿수를 나타내며, D가 0이면 소수 부분을 가지지 않습니다.

 

 

3) 부동 소수점 타입(floating-point types)

 

MySQL에서 부동 소수점 타입인 FLOAT과 DOUBLE은 실수의 값을 대략적으로 표현하기 위해 사용합니다.

MySQL은 IEEE 754 표준에 따라 FLOAT는 4바이트를 사용하며, DOUBLE은 8바이트를 사용합니다.

 

EX) FLOAT(M , D) ==REAL

     DOUBLE (M, D)

M은 소수 부분을 포함한 실수의 총자릿수를 나타내며, D는 소수 부분의 자릿수를 나타냅니다.

 

 

 

4) 비트 값 타입(bit-value type)

 

MySQL에서 비트 값 타입인 BIT는 비트의 값을 저장합니다.

0과 1로 구성되는 바이너리 값을 저장할 수 있습니다.

 

EX) BIT(M)

 

M의 범위는 1부터 64까지 설정할 수 있으며 명시한 M보다 짧은 비트 값을 입력했을 때  앞에 0이 추가하여 길이를 맞춥니다.

반응형

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

[MySQL] 트리거  (0) 2020.07.01
[MySQL] 커서  (0) 2020.07.01
[MySQL] Stored Program  (0) 2020.07.01
MySQL DATE / TIME TYPE  (0) 2020.05.09
MySQL String Type  (0) 2020.05.09

댓글