MySQL에서 단일 열 값에서 숫자 빼는 방법
MySQL에서 특정 열(column)에 저장된 값에서 숫자를 빼려면 UPDATE 문과 뺄셈 연산자(-)를 함께 사용하면 됩니다. WHERE 절로 조건을 지정하면 원하는 행만 골라서 수정할 수도 있습니다.
먼저 실습에 사용할 테이블을 생성하겠습니다.
mysql> create table DemoTable1372 -> ( -> Value int -> ); Query OK, 0 rows affected (0.77 sec)
1. 샘플 데이터 삽입하기
INSERT 명령을 이용해 테이블에 여러 개의 레코드를 추가합니다.
mysql> insert into DemoTable1372 values(500); Query OK, 1 row affected (0.13 sec) mysql> insert into DemoTable1372 values(100); Query OK, 1 row affected (0.24 sec) mysql> insert into DemoTable1372 values(900); Query OK, 1 row affected (0.16 sec) mysql> insert into DemoTable1372 values(1000); Query OK, 1 row affected (0.32 sec)
2. 현재 데이터 확인하기
SELECT 문으로 테이블의 모든 레코드를 조회해 보겠습니다.
mysql> select * from DemoTable1372;
위 쿼리는 다음과 같은 결과를 출력합니다.
+-------+ | Value | +-------+ | 500 | | 100 | | 900 | | 1000 | +-------+ 4 rows in set (0.00 sec)
3. UPDATE 문으로 값 빼기
다음은 특정 열 값에서 숫자를 빼는 쿼리입니다. 여기서는 Value가 900인 행에서 50을 빼 보겠습니다.
mysql> update DemoTable1372 set Value=Value-50 where Value=900; Query OK, 1 row affected (0.52 sec) Rows matched: 1 Changed: 1 Warnings: 0
핵심은 set Value = Value - 50 부분입니다. 기존 값 자신에서 50을 뺀 결과를 다시 같은 열에 저장하는 방식입니다. WHERE 절을 생략하면 테이블의 모든 행에 뺄셈이 적용되므로 주의해야 합니다.
4. 변경 결과 확인하기
테이블을 다시 조회하여 결과를 확인합니다.
mysql> select * from DemoTable1372;
실행 결과는 다음과 같습니다.
+-------+ | Value | +-------+ | 500 | | 100 | | 850 | | 1000 | +-------+ 4 rows in set (0.00 sec)
Value가 900이었던 행이 850으로 정상적으로 감소한 것을 확인할 수 있습니다. 이처럼 UPDATE 문과 산술 연산자를 조합하면 복잡한 절차 없이 손쉽게 열 값을 수정할 수 있습니다.