Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL 데이터베이스에 DECIMAL 값 삽입하는 방법 완벽 가이드

MySQL에서 DECIMAL 값 삽입하기

MySQL에 소수점 숫자를 저장하려면 테이블 컬럼을 정의할 때 DECIMAL(M, D) 데이터 타입을 사용해야 합니다. 여기서 M은 전체 자릿수(정수부 + 소수부), D는 소수점 이하 자릿수를 의미합니다.

기본 문법

yourColumnName DECIMAL(총 자릿수, 소수점 이하 자릿수);

예를 들어 DECIMAL(4,2)로 선언하면 전체 4자리 중 소수점 둘째 자리까지 저장할 수 있으므로, 최대 99.99까지 표현 가능합니다.

1단계: 테이블 생성

문법을 이해하기 위해 실제로 테이블을 하나 만들어 보겠습니다.

mysql> create table DecimalInsert
    -> (
    -> Id int,
    -> Name varchar(100),
    -> Amount DECIMAL(4,2)
    -> );
Query OK, 0 rows affected (0.65 sec)

2단계: DECIMAL 값 삽입

INSERT 명령어를 사용하여 소수점 값을 삽입합니다.

mysql> insert into DecimalInsert values(1,'John',12.4);
Query OK, 1 row affected (0.15 sec)

mysql> insert into DecimalInsert values(2,'Carol',12.34);
Query OK, 1 row affected (0.16 sec)

mysql> insert into DecimalInsert values(3,'Mike',1.424);
Query OK, 1 row affected, 1 warning (0.17 sec)

주목할 점은 세 번째 INSERT 구문입니다. 1.424는 소수점 셋째 자리까지 있지만 컬럼이 DECIMAL(4,2)로 정의되어 있어 MySQL이 자동으로 반올림 처리하고 경고(warning)를 발생시킵니다.

3단계: 결과 확인

SELECT 문으로 저장된 모든 레코드를 조회합니다.

mysql> select *from DecimalInsert;

실행 결과는 다음과 같습니다.

+------+-------+--------+
| Id   | Name  | Amount |
+------+-------+--------+
|    1 | John  |  12.40 |
|    2 | Carol |  12.34 |
|    3 | Mike  |   1.42 |
+------+-------+--------+
3 rows in set (0.00 sec)

결과 분석

  • 12.4 → 12.40: 소수점 이하 자릿수가 부족하면 0으로 채워져 항상 지정된 자릿수 형식을 유지합니다.
  • 12.34 → 12.34: 정의된 범위 내의 값은 그대로 저장됩니다.
  • 1.424 → 1.42: 소수점 이하 자릿수를 초과하는 값은 반올림되어 저장되며, 이때 경고 메시지가 출력됩니다.

이처럼 DECIMAL 타입은 금액처럼 정확한 소수 계산이 필요한 데이터를 다룰 때 FLOAT나 DOUBLE보다 안전하게 사용할 수 있는 타입입니다.