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

MySQL REPLACE() 함수로 파일 경로가 저장된 열의 문자열 찾아 바꾸는 방법

MySQL에서 파일 경로 일괄 찾기 및 바꾸기

데이터베이스에 저장된 파일 경로를 새로운 위치로 변경해야 하는 경우가 종종 있습니다. 이럴 때 MySQL의 REPLACE() 함수를 사용하면 UPDATE 문 하나로 해당 열의 모든 레코드에서 특정 문자열을 찾아 한 번에 교체할 수 있습니다.

REPLACE() 함수의 기본 문법은 다음과 같습니다.

REPLACE(컬럼명, '찾을_문자열', '바꿀_문자열')

이제 실제 예제를 통해 단계별로 살펴보겠습니다.

1단계: 테이블 생성

먼저 파일 경로를 저장할 테이블을 만듭니다.

mysql> create table DemoTable
(
    FolderLocation text
);
Query OK, 0 rows affected (0.80 sec)

2단계: 샘플 데이터 삽입

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

mysql> insert into DemoTable values('C/ProgramFiles/AllMySQLProgram');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values('C/ProgramFiles/JavaChatApplication');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values('C/ProgramFiles/Main/Image.png');
Query OK, 1 row affected (0.18 sec)

3단계: 현재 데이터 확인

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

mysql> select *from DemoTable;

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

+------------------------------------+
| FolderLocation                     |
+------------------------------------+
| C/ProgramFiles/AllMySQLProgram     |
| C/ProgramFiles/JavaChatApplication |
| C/ProgramFiles/Main/Image.png      |
+------------------------------------+
3 rows in set (0.00 sec)

4단계: REPLACE() 함수로 경로 변경

다음 쿼리는 C/ProgramFiles라는 문자열을 E/MyFolder/Details로 찾아 바꾸는 예제입니다.

mysql> update DemoTable
    set FolderLocation=replace(FolderLocation,'C/ProgramFiles','E/MyFolder/Details');
Query OK, 3 rows affected (0.14 sec)
Rows matched: 3  Changed: 3  Warnings: 0

UPDATE 문 실행 결과, 3개 행이 모두 정상적으로 변경되었습니다.

5단계: 변경 결과 확인

테이블을 다시 조회하여 변경된 내용을 확인합니다.

mysql> select *from DemoTable;

모든 경로가 새 위치로 성공적으로 교체된 것을 볼 수 있습니다.

+----------------------------------------+
| FolderLocation                         |
+----------------------------------------+
| E/MyFolder/Details/AllMySQLProgram     |
| E/MyFolder/Details/JavaChatApplication |
| E/MyFolder/Details/Main/Image.png      |
+----------------------------------------+
3 rows in set (0.00 sec)

정리

MySQL에서 열에 저장된 문자열을 찾아 바꾸려면 UPDATE 문과 REPLACE() 함수를 함께 사용하면 됩니다. REPLACE() 함수는 지정한 컬럼 값에서 첫 번째 인수로 전달된 문자열을 찾아 두 번째 인수의 문자열로 교체하며, 조건 없이 실행하면 테이블의 모든 행에 적용됩니다. 대량의 경로 데이터를 마이그레이션하거나 도메인·폴더 구조가 변경되었을 때 매우 유용하게 활용할 수 있습니다.