MySQL에서 행의 값을 변경하는 방법
MySQL에서 특정 행(row)의 값을 수정하려면 UPDATE 명령어와 WHERE 절을 함께 사용하면 됩니다. 기본적으로 MySQL은 쿼리에 지정된 조건에 해당하는 행만 골라서 값을 변경합니다. WHERE 절을 생략하면 테이블의 모든 행이 일괄 수정되므로, 원하는 행만 정확히 바꾸려면 반드시 조건을 명시해야 합니다.
다음 예제를 통해 실제 동작 방식을 확인해 보겠습니다.
예제 시나리오
아래와 같은 'testing' 테이블이 있다고 가정해 보겠습니다. 여기서 이름이 'Ram'인 행을 'Mohit'으로 변경하고자 합니다.
mysql> Select * from testing;
+----+---------+
| Id | Name |
+----+---------+
| 1 | Harshit |
| 2 | Lovkesh |
| 3 | Ram |
| 4 | Gaurav |
+----+---------+
4 rows in set (0.00 sec)
UPDATE 쿼리 실행하기
아래 쿼리를 실행하면 Name 값이 'ram'인 행만 찾아 'MOHIT'으로 변경됩니다.
mysql> UPDATE TESTING SET Name = 'MOHIT' WHERE name = 'ram';
Query OK, 1 row affected (0.13 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> Select * from testing;
+-----+---------+
| id1 | Name |
+-----+---------+
| 1 | Harshit |
| 2 | Lovkesh |
| 3 | MOHIT |
| 4 | Gaurav |
+-----+---------+
4 rows in set (0.00 sec)
실행 결과 분석
쿼리 실행 후 출력된 메시지를 보면 그 의미를 쉽게 파악할 수 있습니다.
- Rows matched: 1 — WHERE 조건과 일치하는 행이 1개였다는 뜻입니다.
- Changed: 1 — 실제로 값이 변경된 행이 1개라는 의미입니다.
결과 테이블을 다시 조회해 보면, 3번 행의 이름이 'Ram'에서 'MOHIT'으로 성공적으로 변경된 것을 확인할 수 있습니다. 이처럼 UPDATE 문은 WHERE 절의 조건에 맞는 행만 선택적으로 수정하므로, 대량의 데이터 중에서도 원하는 데이터만 안전하게 변경할 수 있습니다.