Reemplazar cadena de texto Mysql de forma masiva

DISEÑO WEB 3 Comentarios

No hace mucho tiempo, en una de mis webs, tuve que cambiar una palabra que aparecía en el contenido del sitio por otra nueva y para ello tuve que hacer una consulta sql que lo hiciera de forma masiva para no tener que editar registro a registro todo el contenido de la Web. Teniendo en cuenta que dicha palabra aparecía más de 200.000 veces… habría sido una locura hacerlo de otra forma.

Con una simple consulta podemos quitar la palabra o grupo de palabras que nos interesen de una tabla y sustituirlas por otra.

Por ejemplo, imagina que migras tu página de www.tudominio.com a otro www.nuevodominio.com  y tienes datos de la URL anterior en tu base de datos. Podrías bajarte la base de datos desde MysqlAdmin y abrirla, por ejemplo con el Notepad para hacer una búsqueda de esa palabra y usar la opción de reemplazar. Después vuelves a volcar ese archivo SQL y listo, pero hay una forma más sencilla de hacerlo y que además te permite tener el control de lo que cambias ya que elegiras la tabla que quieres alterar.

Esta es la secuencia SQL, testeada por mí y que me ha funcionado a la perfección:

UPDATE `tabla_con_contenido_a_cambiar` SET `fulltext` = REPLACE(`fulltext`, ‘cadena texto original’, ‘nueva cadena de texto’);

Espero que os sirva de utilidad.

Actualizo la entrada añadiendo dos pantallazos de MysqlAdmin y del apartado donde tenemos que ejecutar la secuencia en la pestaña SQL (aviso que dependiendo la versión de vuestro servidor puede apareceros diferente al que muestro aquí).

pantallazo_mysql_consulta

Comparte este contenido...Share on Facebook
Facebook
0Tweet about this on Twitter
Twitter
Share on LinkedIn
Linkedin
Email this to someone
email

3 respuestas en “Reemplazar cadena de texto Mysql de forma masiva

  1. Reparacion de plotter

    Gracias! nos ha servido para sustituir una palabra en toda la base de datos de wordpress! gracias de nuevo!

  2. sabi

    basedatos:my_base
    tabla: mi_tabla
    campos: campo1,campo2,campo3

    contenidos de los campos

    campo1= xxxx Salón xxxx

    campo2= aaaa Salón aaaa

    campo3= vvvvv Salón vvvvv

    cambiar Salón por salón

    para que no tenga que cambiarlo manualmente en toda mi tabla

    Podrias poner las capturas del ejemplo. no me quedo claro

    1. Román Autor de la entrada

      Hola Sabi, acabo de añadir dos pantallazos para ver si así te resulta más claro de donde tienes que ejecutar la secuencia.
      Como siempre te aconsejo que antes de hacer nada realices una copia de seguridad de tu base de datos.

Responder a sabi Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Anti-spam image