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

MySQL UPDATE 문으로 테이블 업데이트 중 산술 연산(더하기, 빼기, 곱하기, 나누기) 수행하는 방법

MySQL UPDATE 문에서 산술 연산 실행하기

MySQL에서는 UPDATE 문을 사용해 테이블을 갱신하는 동시에 더하기(+), 빼기(-), 곱하기(*), 나누기(/) 같은 산술 연산을 손쉽게 수행할 수 있습니다.

기본 문법

예를 들어 더하기(+) 연산자를 실행하는 기본 문법은 다음과 같습니다.

UPDATE yourTableName SET yourColumnName3 = (yourColumnName1 + yourColumnName2);

위 문법은 더하기 연산자에 해당하며, 다른 연산을 수행하려면 기호만 -, *, / 로 바꿔주면 됩니다.

예제 테이블 생성

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

mysql> CREATE TABLE DemoTable
    -> (
    -> Number1 int,
    -> Number2 int,
    -> AddResult int,
    -> MinusResult int,
    -> MultiplyResult int,
    -> DivideResult int
    -> );
Query OK, 0 rows affected (0.89 sec)

데이터 삽입

INSERT 명령으로 테이블에 레코드를 추가합니다.

mysql> INSERT INTO DemoTable(Number1, Number2) VALUES(40, 20);
Query OK, 1 row affected (0.16 sec)

현재 데이터 확인

SELECT 문으로 테이블의 모든 레코드를 조회합니다.

mysql> SELECT * FROM DemoTable;

결과는 다음과 같습니다. 연산 결과 컬럼들이 아직 NULL인 것을 확인할 수 있습니다.

+---------+---------+-----------+-------------+----------------+--------------+
| Number1 | Number2 | AddResult | MinusResult | MultiplyResult | DivideResult |
+---------+---------+-----------+-------------+----------------+--------------+
|      40 |      20 |      NULL |        NULL |           NULL |         NULL |
+---------+---------+-----------+-------------+----------------+--------------+
1 row in set (0.00 sec)

UPDATE 문으로 사칙연산 수행

이제 UPDATE 문을 이용해 더하기, 빼기, 곱하기, 나누기 연산을 한 번에 처리하는 쿼리입니다.

mysql> UPDATE DemoTable SET AddResult = (Number1 + Number2);
Query OK, 1 row affected (0.22 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> UPDATE DemoTable SET MinusResult = (Number1 - Number2);
Query OK, 1 row affected (0.08 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> UPDATE DemoTable SET MultiplyResult = (Number1 * Number2);
Query OK, 1 row affected (0.08 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> UPDATE DemoTable SET DivideResult = (Number1 / Number2);
Query OK, 1 row affected (0.07 sec)
Rows matched: 1  Changed: 1  Warnings: 0

최종 결과 확인

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

mysql> SELECT * FROM DemoTable;

실행 결과, 각 연산 결과가 정상적으로 저장된 것을 확인할 수 있습니다.

+---------+---------+-----------+-------------+----------------+--------------+
| Number1 | Number2 | AddResult | MinusResult | MultiplyResult | DivideResult |
+---------+---------+-----------+-------------+----------------+--------------+
|      40 |      20 |        60 |          20 |            800 |            2 |
+---------+---------+-----------+-------------+----------------+--------------+
1 row in set (0.00 sec)

정리

40 + 20 = 60, 40 - 20 = 20, 40 * 20 = 800, 40 / 20 = 2로 네 가지 산술 연산이 모두 정상적으로 수행되었습니다. 참고로 MySQL에서 나누기 연산은 소수점 결과를 반환할 수 있으므로, 결과 컬럼의 데이터 타입을 FLOAT나 DECIMAL로 지정하면 더 정확한 값을 저장할 수 있습니다.