MYSQL에서 특정 문자 일괄 치환하기
MySQL REPLACE 레코드 데이터 치환하기(REPLACE)
게시판 데이터에 첨부파일 경로가 변경이 되었거나 그 외 일괄 변경이 필요한 경우 REPLACE 함수를 이용해 쉽게 DB 데이터를 변경 할 수 있습니다.
예제는 myTable이라는 테이블의 content 데이터 중 https://예전도메인.co.kr 문자를 https://현재도메인.co.kr으로 치환하는 과정입니다.
1. 변경할 데이터 조회 하기
우선 변경 될 대상의 레코드를 확인하시기 바랍니다. 간혹 의도치 않은 데이터가 변경 되는 것을 방지하기 위한 확인 작업입니다.
1 |
|
2. REPLACE로 치환 될 데이터 확인 (SELECT)
문자를 치환한 후 문제가 발생하는 것을 방지하기 위해 SELECT 문으로 치환 후 대상 값을 확인합니다.
이때 SElECT문으로 조회하는 것이기 때문에 REPLACE 함수로 인한 데이터 변경은 없습니다.
3. 데이터 치환 실행하기 (UPDATE)
1번과 2번에서 모두 이상이 없다면 실제로 치환을 실행합니다.
참고로 조건을 추가하고 싶으시다면 1, 2과 같이 쿼리문 뒤에 WHERE 절을 추가해주시면 됩니다. 위 예제는 조건이 없는 전체 데이터를 대상으로한 내용입니다.
실제 사용 예:
update xe_documents set content=replace(content,'https://예전도메인.com/','https://수정도메인:9000/');