반응형
MySQL 검색 및 필드의 일부 텍스트 바꾸기
테이블의 특정 필드에서 텍스트 검색 및 치환을 수행하는 MySQL 쿼리는 무엇입니까?
즉, 검색foo로 대체하다bar그래서 그 가치가 있는 필드가 있는 레코드는hello foo된다hello bar.
바꾸다table_name그리고.field해당 테이블 이름과 필드를 일치시킵니다.
UPDATE table_name SET field = REPLACE(field, 'foo', 'bar') WHERE INSTR(field, 'foo') > 0;
UPDATE table_name
SET field = replace(field, 'string-to-find', 'string-that-will-replace-it');
내 경험상 가장 빠른 방법은
UPDATE table_name SET field = REPLACE(field, 'foo', 'bar') WHERE field LIKE '%foo%';
그INSTR()way는 두 번째 단계이며 생략된WHERE열 인덱스가 작성되지 않은 경우에도 절 전체가 가장 느립니다.
UPDATE table SET field = replace(field, text_needs_to_be_replaced, text_required);
예를 들어 John by Mark의 모든 항목을 대체하려면 다음과 같이 사용합니다.
UPDATE student SET student_name = replace(student_name, 'John', 'Mark');
또한 다른 필드의 값을 기준으로 검색 및 바꾸려면 CONCAT를 수행할 수 있습니다.
update table_name set `field_name` = replace(`field_name`,'YOUR_OLD_STRING',CONCAT('NEW_STRING',`OTHER_FIELD_VALUE`,'AFTER_IF_NEEDED'));
다른 사람들이 바로 찾을 수 있도록 이 사진을 여기 두기 위해서요.
문자열 바꾸기 함수가 이를 수행합니다.
위의 명령줄을 다음과 같이 사용했습니다. update TABLE-NAME set FILD = replace(FILD, 'And', 'and'); 목적은 And를 and로 대체하는 것입니다.("A"는 소문자여야 합니다.)문제는 데이터베이스에서 "And"를 찾을 수 없다는 것입니다. 그러나 "%And%"와 같이 사용하면 단어의 일부인 다른 많은 및 소문자를 찾을 수 있습니다.
언급URL : https://stackoverflow.com/questions/125230/mysql-search-and-replace-some-text-in-a-field
반응형
'programing' 카테고리의 다른 글
| KEY 키워드의 의미는 무엇입니까? (0) | 2022.12.26 |
|---|---|
| PHP 파일이 일반 텍스트로 표시되는 이유는 무엇입니까? (0) | 2022.12.07 |
| REGEXP_REPLACE 가이드라인 (0) | 2022.12.07 |
| '초기 통신 패킷을 읽을 때 MySQL 서버에 대한 연결이 끊어졌습니다. 시스템 오류: 0 (0) | 2022.12.07 |
| MySQL을 다시 시작하지 않고 MySQL의 느린 쿼리 로그를 활성화하려면 어떻게 해야 합니까? (0) | 2022.12.07 |