Reemplazar texto en MySQL con UPDATE y REPLACE
Reemplazar texto en MySQL con UPDATE y REPLACE. En esta entrada nos enfocaremos en el tema de base de datos referente a reemplazar ciertos registros en nuestra tabla MySQL. Este gestor de base de datos posee una función llamada «REPLACE()« que permite buscar una cadena para ser reemplazada por otra dentro de las columnas de una tabla.
Reemplazar texto en MySQL con UPDATE y REPLACE
En algún momento cuando deseamos actualizar una determinada columna en nuestra tabla, es recomendable su uso por el dinamismo que posee y se puede lograr lo que deseamos en una sola consulta.
Por ejemplo, si alguna columna se estuvo almacenando la palabra «Vendedor» lo cual nos piden que cambie a «Empleado», como haríamos si se tratara de miles de registros. Sería una tarea titánica y utilizaríamos muchas horas de trabajo.
Felizmente, MySQL posee clausulas para este tipo de inconvenientes y lo podemos realizar en segundos. Ahorrando un monto de tiempo.
Sintaxis de la función
MySQL REPLACE() reemplaza todas las ocurrencias de una subcadena dentro de una cadena.
update 'mi_tabla' set nombre_campo= replace(nombre_campo, 'texto_a_encontrar', 'texto_a_reemplazar');
La tabla para aplicar las consultas
CREATE TABLE `alumnos` ( `id` int(10) UNSIGNED NOT NULL, `nombres` varchar(20) DEFAULT NULL, `colegio` varchar(200) DEFAULT NULL, `celular` varchar(20) DEFAULT NULL, `ciudad` varchar(200) DEFAULT NULL, `pais` varchar(30) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT; -- -- Volcado de datos para la tabla `alumnos` -- INSERT INTO `alumnos` (`id`, `nombres`, `colegio`, `celular`, `ciudad`, `pais`) VALUES (1, 'Jose Luis', 'San Juan Bautista', '99900099', 'Santiago', 'Brasil'), (2, 'Jose Luis', 'Micaela Mollinedo', '98654400', 'Asuncion', 'Brasil'), (3, 'Jose Luis', 'Carlos Marzon', '966765440', 'Caracas', 'Brasil'), (4, 'Jose Luis', 'Bon Hamelist', '90088887', 'Bogota', 'Brasil'); ALTER TABLE `alumnos` ADD PRIMARY KEY (`id`); -- -- AUTO_INCREMENT de las tablas volcadas -- -- -- AUTO_INCREMENT de la tabla `alumnos` -- ALTER TABLE `alumnos` MODIFY `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;
#1 Reemplazar una cadena de texto en una tabla
Nos apoyaremos en la función UPDATE y la función REPLACE. Como podemos aprecia esta función realiza la búsqueda y luego realiza los cambios de nombres.
update 'alumnos' set nombres= replace(nombres, 'Nombre anterior', 'Nombre nuevo');
#2 Usando la función UPDATE de MySQL
En esta consulta usaremos la función UPDATE para tener el mismo resultado. Sin embargo, para lograr la búsqueda usaremos la cláusula «WHERE» en la cual definiremos que es lo que debemos de cambiar en tal columna.
update alumnos set nombres='Nombre_nuevo' where nombres='Nombre_antiguo';
Otros usos
Si deseamos poblar una columna nueva con un determinado texto en una tabla lo ideal es que apliquemos la siguiente consulta en el PHPMyAdmin.
Por ejemplo, si ya disponemos una tabla con miles de registros y por algún motivo deseamos insertar una columna con un valor ya definido. Lo razonable es aplicar esta consulta que lo pondremos a continuación.
UPDATE alumnos SET pais='Argentina'
CONCLUSIÓN
La utilización de este sistema es importante para cada programador, porque nos ayuda a ahorrar un monto de tiempo. Esta función lo hace de manera dinámica cambiando miles de registros a la vez. Sin embargo, tienen que hacerlo con mucho cuidado, un mal cálculo y estarían estropeando su tabla.
Mi recomendación, es sacar una copia de seguridad de su base de datos y en especial su tabla.Analizar muy bien su consulta para evitar inconvenientes.
Bueno aquí termina, espero que les haya servido mucho esta breve explicación y no se olviden se suscribirme y comentar.