rrc2software Blog Proyectos
rrc2software Blog Proyectos

Sustituir una cadena de texto por otra en una base de datos MySQL

Cuando se realizar una migración de una aplicación de un servidor a otro, en muchas ocasiones, se almacenan valores dentro de la base de datos que hacen referencia a la antigua ubicación de la aplicación.

Para ello se hace necesario buscar estos valores en todos los campos de la base de datos y sustituirlos por su nuevo valor.

Existen varias maneras de realizar esta tarea: de forma manual, exportando la base de datos mediante el comando mysqldump y modificando el archivo resultante, ....

Aquí proponemos una solución mediante una sentencia SQL que genera las sentencias necesarias para realizar estos cambios directamente en la base de datos:

SELECT CONCAT('UPDATE ',table_schema,'.',table_name,' SET ',column_name,'=REPLACE(',column_name,',''BUSCAR'',''REEMPLAZAR'');')
FROM information_schema.columns
WHERE table_schema = 'BASE_DATOS'
--- Sustituir por esta línea si se desea realizar en todoas las bases de datos
--- WHERE table_schema NOT IN ('information_schema','mysql','performance_schema')
AND (column_type LIKE 'char(%' OR column_type LIKE 'varchar(%' OR column_type LIKE '%text');
Tweet Share Share Pin Share Email

Última modificación: Sep 11, 2022

Volver al inicio