복붙노트

[SQL] 검색 필드에 텍스트를 대체 MYSQL

SQL

검색 필드에 텍스트를 대체 MYSQL

무엇 MySQL의 쿼리 텍스트 검색을 수행하고 테이블에서 특정 필드에서 대체 할 것인가?

즉 foo를 검색하고 값 헬로 foo에있는 필드와 레코드가 인사 막대가되도록 바 교체합니다.

해결법

  1. ==============================

    1.문제의 테이블 이름과 필드에 맞게 TABLE_NAME 및 필드를 변경합니다 :

    문제의 테이블 이름과 필드에 맞게 TABLE_NAME 및 필드를 변경합니다 :

    UPDATE table_name SET field = REPLACE(field, 'foo', 'bar') WHERE INSTR(field, 'foo') > 0;
    
  2. ==============================

    2.

    UPDATE table_name 
    SET field = replace(field, 'string-to-find', 'string-that-will-replace-it');
    
  3. ==============================

    3.

     UPDATE table SET field = replace(field, text_needs_to_be_replaced, text_required);
    

    내가 대체하려는 경우 예를 들어, 마크 I에 의해 존의 모든 항목이 아래 사용과 마찬가지로,

    UPDATE student SET student_name = replace(student_name, 'John', 'Mark');
    
  4. ==============================

    4.그리고 당신은 검색하고 당신이 CONCAT을 할 수있는 다른 필드의 값을 기준으로 대체 할 경우 :

    그리고 당신은 검색하고 당신이 CONCAT을 할 수있는 다른 필드의 값을 기준으로 대체 할 경우 :

    update table_name set `field_name` = replace(`field_name`,'YOUR_OLD_STRING',CONCAT('NEW_STRING',`OTHER_FIELD_VALUE`,'AFTER_IF_NEEDED'));
    

    그냥 여기 이렇게 다른 사람들이 한 번에 찾을 것이라고이 하나가 있습니다.

  5. ==============================

    5.내 경험에 의하면, 가장 빠른 방법은

    내 경험에 의하면, 가장 빠른 방법은

    UPDATE table_name SET field = REPLACE(field, 'foo', 'bar') WHERE field LIKE '%foo%';
    

    INSTR () 방법은 두 번째로 빠른 및 절은 모두 열이 인덱싱되지 않은 경우에도, 느린되는 위치를 생략.

  6. ==============================

    6.바꾸기 문자열 함수는 할 것입니다.

    바꾸기 문자열 함수는 할 것입니다.

  7. ==============================

    7.나는 다음과 같은 위의 명령 줄을 사용 : 갱신 TABLE-NAME 세트 FIELD = (FIELD, '그리고', '및')를 대체; 목적은 교체로하고 ( "A"소문자이어야 함)이었다. 문제는 내가 "%와 %"와 같이 사용하는 경우는 "그리고"데이터베이스,하지만 그것은 단어 나 이미 소문자에도 사람의 일부 다른 많은 ands과 함께 찾을 수 찾을 수 있습니다.

    나는 다음과 같은 위의 명령 줄을 사용 : 갱신 TABLE-NAME 세트 FIELD = (FIELD, '그리고', '및')를 대체; 목적은 교체로하고 ( "A"소문자이어야 함)이었다. 문제는 내가 "%와 %"와 같이 사용하는 경우는 "그리고"데이터베이스,하지만 그것은 단어 나 이미 소문자에도 사람의 일부 다른 많은 ands과 함께 찾을 수 찾을 수 있습니다.

  8. from https://stackoverflow.com/questions/125230/mysql-search-and-replace-some-text-in-a-field by cc-by-sa and MIT license