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

MySQL에서 열(컬럼) 값을 100으로 나누는 방법

MySQL에서 특정 열(컬럼)의 전체 값을 일괄적으로 100으로 나눠야 하는 경우가 종종 있습니다. 예를 들어, 백분율 단위로 저장된 데이터를 소수 값으로 변환하거나, 스케일을 조정해야 할 때 유용합니다. 이 작업은 UPDATE 문과 산술 연산자(/)를 조합하여 간단하게 처리할 수 있습니다.

1. 샘플 테이블 생성

먼저 실습에 사용할 테이블을 생성해 보겠습니다.

mysql> create table DemoTable
    (
    Number float
    );
Query OK, 0 rows affected (0.47 sec)

2. 데이터 삽입

INSERT 명령을 사용하여 테이블에 레코드를 추가합니다.

mysql> insert into DemoTable values(1000);
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable values(1);
Query OK, 1 row affected (0.27 sec)
mysql> insert into DemoTable values(10);
Query OK, 1 row affected (0.30 sec)
mysql> insert into DemoTable values(100);
Query OK, 1 row affected (0.24 sec)
mysql> insert into DemoTable values(390);
Query OK, 1 row affected (0.09 sec)

3. 현재 데이터 확인

SELECT 문으로 테이블의 모든 레코드를 조회해 보겠습니다.

mysql> select *from DemoTable;

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

+--------+
| Number |
+--------+
| 1000   |
| 1      |
| 10     |
| 100    |
| 390    |
+--------+
5 rows in set (0.00 sec)

4. 열 값을 100으로 나누는 UPDATE 쿼리

열의 값을 100으로 나누려면 아래와 같이 UPDATE 문에서 해당 열을 자기 자신으로 100을 나눈 값으로 갱신하면 됩니다.

mysql> update DemoTable set Number=Number/100;
Query OK, 5 rows affected (0.09 sec)
Rows matched: 5 Changed: 5 Warnings: 0

5. 변경 결과 확인

업데이트 후 테이블의 레코드를 다시 조회해 보겠습니다.

mysql> select * from DemoTable;

모든 값이 100으로 나눠진 것을 확인할 수 있습니다.

+--------+
| Number |
+--------+
| 10     |
| 0.01   |
| 0.1    |
| 1      |
| 3.9    |
+--------+
5 rows in set (0.00 sec)

참고: 원본 데이터를 유지하면서 나눈 값만 조회하기

테이블의 실제 데이터를 변경하지 않고, 조회 시에만 100으로 나눈 결과가 필요하다면 UPDATE 대신 SELECT 문에서 직접 연산을 수행할 수 있습니다.

mysql> select Number, Number/100 AS DividedValue from DemoTable;

이 방식은 원본 데이터는 그대로 유지되므로, 데이터 변형 없이 계산된 값만 필요한 경우에 안전하게 활용할 수 있습니다.