Buscar y reemplazar un texto en toda la Base de Datos

En: Libre

26 May 2008

WP Greet Box icon
Hola! Si estás nuevo por aquí y te gusta lo que ves, puedes disfrutar de una actualización automática y gratuita por RSS para leer nuestros artículos completos cuando lo deseas en tu lector RSS favorito.

Es común realizar cambios en un texto simple, donde podemos realizar una búsqueda de un texto y que sus coincidencias sean reemplazadas por otro, pero si deseamos realizar ésta acción dentro de toda una Base de Datos??..ya no resulta muy sencillo, además para complicar ésta acción, las Bases de Datos pueden llegar a tener millones de registros donde podrá aparecer el texto que deseamos reemplazar, y si deseamos reemplazarlos poco a poco nos puede llevar muchisimo tiempo.

He realizado un script que utiliza PHP para realizar una búsqueda y reemplazo de un texto dentro de toda una base de Datos MySQL de una manera sencilla y lista para ser usada. Lo he probado y utilizado en muchas ocasiones y me ha ahorrado mucho tiempo.
Lo pueden utilizar por ejemplo en:

  • Realizar una migración de un sistema y realizar la actualización de:
    • rutas de enlaces
    • textos
    • dominios
    • correos electrónicos
    • etc
  • Corregir un error que se ha reproducido en los registros de la Base de Datos
  • Actualizar un contenido común
  • etc

El algoritmo implementado:

  • Busca las coincidencias de un texto dentro de todas las tablas de la Base de Datos dada
  • Examina cada campo de una tabla para buscar la aparación del texto buscado
  • Realiza un reemplazo limpio de las coincidencias sin afectar el resto de información localizada en la Base de Datos
  • Automáticamente detecta las claves primarias de las tablas y modifica el registro específico evitando errores
  • Permite que especifiques la funcionalidad del script para que opere con sensibilidad entre mayúsculas y minúsculas

Los únicos datos que ingresas son:

  • Nombre de la Base de Datos
  • Usuario para la conexión con la base de datos
  • Contraseña para la conexión con la base de datos
  • Servidor de la base de datos
  • Texto a buscar
  • Texto que reemplazará las coincidencias
  • Opción para que sea sensible a mayúsculas y minúsculas

NOTA: por seguridad saca un backup de la Base de Datos antes de realizar la búsqueda y reemplazo para evitar dañar la información si ingresaste datos incorrectos, ya que la acción no se puede deshacer.

Descargar AHORA!



Otros post

Este post ha sido visto 2530 veces

3 nomentarios para Buscar y reemplazar un texto en toda la Base de Datos

Avatar

oscareubieda

Abril 13th, 2010 at 02:10

jajajajajaj muy buen trabajo!! disculpa la risa es que he pasado 2 horas haciendo exactamente lo mismo que tu has hecho xD solo que lo hice en php 4 y me ha tomado 95 lineas de codigo si gustas te lo envio para que le heches un ojo.

no entiendo como te pudo salir tan largo si veo q usastes mejor las funciones de php que yo ha de ser por los comentarios y todos los saltos de lineas.

me he copiado la forma de obtener los campos de las tablas yo lo hacia asi:

$sql=”SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_SCHEMA LIKE ‘$bd’ AND TABLE_NAME = ‘$tabla’”;

tu version es mas simplificada:
SHOW COLUMNS FROM $tabla

quiero saber cuanto te tomo hacerla?

Avatar

oscareubieda

Abril 13th, 2010 at 02:10

debo googlear antes de programar jejeje

Avatar

Rodrigo

Mayo 6th, 2010 at 07:11

Te felicito !!!
Me ahorraste muchísimo tiempo.
Saludos

Deja tu comentario!

Acerca de UnderMedia

Inspiración y Determinación |
En Blog UnderMedia se recopilan y publican periódicamente noticias, artículos o comentarios generados dentro de UnderMedia S.A.

Twitter UnderMedia

Comunidad

Ultimas visitas

Raking

  • Blogalaxia
  • Top Blogs Ecuador

Switch to our mobile site