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

MySQL에서 기존 값에 1을 더하는 방법 (UPDATE 쿼리 활용)

MySQL에서 기존 값에 1을 더하는 방법

MySQL에서 이미 저장된 값에 1을 더하려면 UPDATE 문의 SET 절에서 해당 컬럼 자신에게 산술 연산을 수행하면 됩니다. 핵심 문법은 SET 컬럼명 = 컬럼명 + 1 형태이며, WHERE 절을 함께 사용하면 원하는 행만 선택적으로 수정할 수 있습니다.

1. 예제 테이블 생성

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

mysql> create table Add1ToExistingValue
    -> (
    -> Value int
    -> );
Query OK, 0 rows affected (0.56 sec)

2. 데이터 삽입

INSERT 명령어를 사용하여 테이블에 여러 개의 레코드를 삽입합니다.

mysql> insert into Add1ToExistingValue values(10);
Query OK, 1 row affected (0.12 sec)
mysql> insert into Add1ToExistingValue values(13);
Query OK, 1 row affected (0.15 sec)
mysql> insert into Add1ToExistingValue values(15);
Query OK, 1 row affected (0.13 sec)
mysql> insert into Add1ToExistingValue values(16);
Query OK, 1 row affected (0.14 sec)
mysql> insert into Add1ToExistingValue values(20);
Query OK, 1 row affected (0.16 sec)
mysql> insert into Add1ToExistingValue values(40);
Query OK, 1 row affected (0.15 sec)
mysql> insert into Add1ToExistingValue values(50);
Query OK, 1 row affected (0.11 sec)
mysql> insert into Add1ToExistingValue values(55);
Query OK, 1 row affected (0.17 sec)
mysql> insert into Add1ToExistingValue values(56);
Query OK, 1 row affected (0.17 sec)

3. 전체 데이터 조회

SELECT 문으로 테이블에 저장된 모든 레코드를 확인합니다.

mysql> select *from Add1ToExistingValue;

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

+-------+
| Value |
+-------+
| 10    |
| 13    |
| 15    |
| 16    |
| 20    |
| 40    |
| 50    |
| 55    |
| 56    |
+-------+
9 rows in set (0.00 sec)

4. 기존 값에 1 더하기

다음은 20 이상인 값들에만 1을 더하는 UPDATE 쿼리입니다.

mysql> update Add1ToExistingValue set Value=Value+1 where Value >=20;
Query OK, 5 rows affected (0.08 sec)
Rows matched: 5 Changed: 5 Warnings: 0

주의: WHERE 절을 생략하면 테이블의 모든 행에 연산이 적용되므로, 특정 조건의 데이터만 수정하려면 반드시 조건절을 지정해야 합니다.

5. 변경 결과 확인

SELECT 문으로 수정된 데이터를 다시 조회해 보겠습니다.

mysql> select *from Add1ToExistingValue;

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

+-------+
| Value |
+-------+
| 10    |
| 13    |
| 15    |
| 16    |
| 21    |
| 41    |
| 51    |
| 56    |
| 57    |
+-------+
9 rows in set (0.00 sec)

WHERE 조건(20 이상)에 해당했던 값들이 각각 21, 41, 51, 56, 57로 정확히 1씩 증가한 것을 확인할 수 있습니다.

추가 팁

  • 증가 폭을 조절하고 싶다면 SET Value = Value + 2, SET Value = Value + 10처럼 숫자만 바꾸면 됩니다.
  • 감소시키려면 SET Value = Value - 1과 같이 마이너스 연산을 사용하면 됩니다.
  • 여러 컬럼을 한 번에 증가시키는 것도 가능합니다. 예: SET col1 = col1 + 1, col2 = col2 + 1