MySQL 데이터 타입 완벽 가이드: INT, DECIMAL, BIGINT 범위와 특징

MySQL에서 사용되는 다양한 데이터 타입이 많은데,특히 INT, DECIMAL, BIGINT 등 숫자형 데이터 타입의 범위와 특징에 대해 MySQL 데이터 타입 완벽 가이드: INT, DECIMAL, BIGINT 범위와 특징 대해 알아보겠습니다.

MySQL 숫자형 데이터 타입 개요

MySQL에서는 다양한 숫자형 데이터 타입을 제공해요. 크게 정수형과 실수형으로 나눌 수 있는데, 각 타입마다 저장할 수 있는 값의 범위가 다르답니다. 적절한 데이터 타입을 선택하면 저장 공간을 효율적으로 사용하고 데이터의 정확성을 보장할 수 있어요.

정수형 데이터 타입

정수형 데이터 타입은 소수점이 없는 숫자를 저장할 때 사용해요. MySQL에서 제공하는 주요 정수형 데이터 타입은 다음과 같아요.

데이터 타입저장 공간SIGNED 범위UNSIGNED 범위
TINYINT1 바이트-128 ~ 1270 ~ 255
SMALLINT2 바이트-32,768 ~ 32,7670 ~ 65,535
MEDIUMINT3 바이트-8,388,608 ~ 8,388,6070 ~ 16,777,215
INT4 바이트-2,147,483,648 ~ 2,147,483,6470 ~ 4,294,967,295
BIGINT8 바이트-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,8070 ~ 18,446,744,073,709,551,615

여기서 SIGNED는 음수와 양수를 모두 저장할 수 있고, UNSIGNED는 양수만 저장할 수 있어요. UNSIGNED를 사용하면 양수 범위가 두 배로 늘어나니 참고하세요!

DECIMAL: 정확한 소수점 표현

실수를 저장할 때는 DECIMAL 타입을 많이 사용해요. DECIMAL은 정확한 소수점 표현이 필요한 금융 데이터나 과학적 계산에 적합해요.

DECIMAL(M, D)

여기서 M은 전체 자릿수(최대 65), D는 소수점 이하 자릿수를 나타내요. 예를 들어, DECIMAL(10, 2)는 전체 10자리 중 소수점 이하 2자리를 표현할 수 있어요.

FLOAT와 DOUBLE: 근사치 실수 표현

FLOAT(4바이트)와 DOUBLE(8바이트)은 근사치 실수를 표현해요. 정확도는 DECIMAL보다 떨어지지만, 더 넓은 범위의 값을 저장할 수 있어요.

  • FLOAT: -3.402823466E+38 ~ -1.175494351E-38 및 1.175494351E-38 ~ 3.402823466E+38
  • DOUBLE: -1.7976931348623157E+308 ~ -2.2250738585072014E-308 및 2.2250738585072014E-308 ~ 1.7976931348623157E+308

데이터 타입 선택 시 고려사항

  1. 저장 공간: 필요한 범위만큼만 선택하세요. 예를 들어, 나이를 저장할 때는 TINYINT UNSIGNED로 충분해요.
  2. 정확성: 금융 데이터처럼 정확성이 중요한 경우 DECIMAL을 사용하세요.
  3. 성능: 작은 데이터 타입일수록 처리 속도가 빠르고 저장 공간도 적게 차지해요.
  4. 확장성: 미래에 데이터 범위가 확장될 가능성을 고려하세요.

실제 사용 예시

CREATE TABLE products (
    id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    price DECIMAL(10, 2) NOT NULL,
    quantity SMALLINT UNSIGNED NOT NULL,
    rating FLOAT
);

이 예시에서 각 데이터 타입을 어떻게 활용했는지 볼 수 있어요.

  • id: 제품 고유 번호로 INT UNSIGNED 사용
  • name: 제품명으로 VARCHAR 사용
  • price: 가격으로 DECIMAL 사용 (정확한 소수점 표현 필요)
  • quantity: 재고 수량으로 SMALLINT UNSIGNED 사용
  • rating: 평점으로 FLOAT 사용 (정확도보다는 범위가 중요)

마무리

지금까지 MySQL 데이터 타입 완벽 가이드: INT, DECIMAL, BIGINT 범위와 특징 알아보았습니다. MySQL의 데이터 타입, 특히 숫자형 데이터 타입에 대해 알아봤어요. 적절한 데이터 타입을 선택하는 것은 데이터베이스 설계의 핵심이에요. 저장 공간 효율성, 데이터 정확성, 그리고 쿼리 성능까지 고려해야 하죠.

여러분의 프로젝트에 맞는 최적의 데이터 타입을 선택하시길 바라요. MySQL 공식 문서에서 더 자세한 정보를 확인할 수 있어요!

함께 보면 좋은 글