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

MySQL에서 특정 열의 값을 증가시키는 UPDATE 쿼리 사용법

MySQL에서는 UPDATE 문과 산술 연산자를 활용하면 특정 행의 열 값을 손쉽게 증가시킬 수 있습니다. 이 글에서는 실제 예제를 통해 테이블 생성부터 데이터 삽입, 값 증가까지 전 과정을 단계별로 살펴보겠습니다.

1. 테이블 생성하기

먼저 예제에 사용할 테이블을 생성합니다.

mysql> create table DemoTable
-> (
-> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> Name varchar(100),
-> Score int
-> );
Query OK, 0 rows affected (0.78 sec)

2. 데이터 삽입하기

INSERT 명령을 사용해 몇 개의 레코드를 추가합니다.

mysql> insert into DemoTable(Name,Score) values('John',68);
Query OK, 1 row affected (0.23 sec)

mysql> insert into DemoTable(Name,Score) values('Carol',98);
Query OK, 1 row affected (0.27 sec)

mysql> insert into DemoTable(Name,Score) values('David',89);
Query OK, 1 row affected (0.16 sec)

mysql> insert into DemoTable(Name,Score) values('Robert',67);
Query OK, 1 row affected (0.14 sec)

3. 저장된 레코드 확인하기

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

mysql> select *from DemoTable;

출력 결과

+----+--------+-------+
| Id | Name | Score |
+----+--------+-------+
| 1 | John | 68 |
| 2 | Carol | 98 |
| 3 | David | 89 |
| 4 | Robert | 67 |
+----+--------+-------+
4 rows in set (0.00 sec)

4. 열 값을 1 증가시키는 쿼리 실행하기

특정 열의 값을 1만큼 증가시키려면 아래와 같이 SET Score = Score + 1 형태의 UPDATE 문을 WHERE 절과 함께 사용하면 됩니다. 여기서는 Id가 3인 David의 Score를 증가시켜 보겠습니다.

mysql> update DemoTable set Score=Score+1 where Id=3;
Query OK, 1 row affected (0.22 sec)
Rows matched: 1 Changed: 1 Warnings: 0

참고: WHERE 절을 생략하면 테이블의 모든 행에 대해 값이 증가되므로, 반드시 조건을 지정해 원하는 행만 수정하는 것이 안전합니다.

5. 변경 결과 다시 확인하기

업데이트 후 테이블을 다시 조회해 보겠습니다.

mysql> select *from DemoTable;

출력 결과

+----+--------+-------+
| Id | Name | Score |
+----+--------+-------+
| 1 | John | 68 |
| 2 | Carol | 98 |
| 3 | David | 90 |
| 4 | Robert | 67 |
+----+--------+-------+
4 rows in set (0.00 sec)

위 출력 결과에서 확인할 수 있듯이, Id가 3인 David의 Score가 89에서 90으로 정상적으로 1 증가했습니다. 이처럼 UPDATE ... SET 열명 = 열명 + 증가값 패턴을 활용하면 기존 값을 기준으로 원하는 만큼 값을 조정할 수 있습니다.