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

MySQL REPLACE() 함수를 WHERE 절과 함께 사용하는 방법

MySQL에서 WHERE 절은 쿼리에 조건을 지정하기 위해 사용되며, MySQL은 해당 조건에 따라 결과 집합을 반환합니다. 마찬가지로 REPLACE() 함수를 WHERE 절과 함께 사용하면, 결과 집합은 제공된 조건에 따라 결정됩니다. 즉, 테이블의 모든 행이 아니라 조건을 만족하는 행에 대해서만 REPLACE() 함수가 적용됩니다.

예제

다음 예제는 'Student' 테이블의 데이터를 사용합니다. 이 쿼리에서 REPLACE() 함수는 'Subject' 열의 값이 'Computers'인 레코드에 한해서만 'Name' 열의 문자를 치환합니다.

mysql> Select Name, REPLACE(Name, 'G','S') from student Where Subject = 'Computers';
+--------+------------------------+
| Name | REPLACE(Name, 'G','S') |
+--------+------------------------+
| Gaurav | Saurav |
| Gaurav | Saurav |
+--------+------------------------+
2 rows in set (0.00 sec)

위 실행 결과를 보면 'Subject' 값이 'Computers'인 두 개의 행만 조회되었으며, 해당 행의 'Name' 값에서 문자 'G'가 'S'로 변경되어 출력된 것을 확인할 수 있습니다. 조건을 만족하지 않는 다른 행들은 결과에 포함되지 않습니다.

참고: 실제 데이터 수정하기

SELECT 문에서 REPLACE() 함수를 사용하면 원본 데이터는 그대로 유지되고 조회 결과에만 치환이 적용됩니다. 테이블의 실제 데이터를 변경하려면 UPDATE 문과 함께 사용해야 합니다.

UPDATE student SET Name = REPLACE(Name, 'G', 'S') WHERE Subject = 'Computers';

이처럼 WHERE 절과 REPLACE() 함수를 조합하면 특정 조건에 맞는 행만 선택적으로 문자열을 치환할 수 있어, 대량의 데이터를 안전하고 효율적으로 수정할 때 매우 유용합니다.