¿Cómo buscar y reemplazar un texto en MySQL utilizando UPDATE y REPLACE?

MySQL tiene una interesante función llamada REPLACE() que permite buscar una cadena para ser reemplazada por otra dentro las tablas de una base de datos. Es realmente útil cuando tenemos una gran cantidad de registros y queremos realizar una modificación en forma masiva en todos ellos con una sola consulta.

La sintaxis es:

update 'nombre_tabla' set nombre_campo= replace(nombre_campo, 'string_a_encontrar', 'string_a_reemplazar');

Ejemplo:

update 'articulos' set descripcion= replace(descripcion, 'Nombre anterior', 'Nombre nuevo');

El ejemplo anterior, busca en la tabla articulos, en el campo descripcion, todos los registros que contengan las palabras Nombre anterior y los reemplaza por Nombre nuevo.

Deja un comentario

  • Como reemplazarias un fragmento de ese texto ?
    en lugar de reemplazar todo el texto solo cambiar “anterior” por “nuevo”

    • Christopher Corrales

      Se usa la misma función, pero con WHERE. Ejemplo:

      update ‘nombre_tabla’ set nombre_campo= replace(nombre_campo, ‘string_a_encontrar’, ‘string_a_reemplazar’) where nombre_campo LIKE ‘%string_a_encontrar%’;