MYSQL La base de datos

Actualizar y reemplazar columnas SQL

Actualizar y reemplazar columnas SQL. Vamos al punto, el presente artículo vamos a ver como reemplazar valores con la sentencia Update SQL. En resumen, voy a explicar cómo realizar UPDATEs que reemplacen cadenas de textos en columnas de las tablas MySQL.

Actualizar y reemplazar columnas SQL

La opción de reemplazar cadenas de texto dentro de columnas es una tarea común en los proyectos web. Por lo tanto, si nos hemos equivocado en algún texto podemos reemplazarlo fácilmente usando estas instrucciones.

Consulta UPDATE y Función REPLACE

Para realizar reemplazos de textos en MySQL siempre usaremos la función predeterminada de MySQL llamado REPLACE.

Esta función se encargar y permite realizar reemplazos en cadena buscada por otra cadena de sustitución.
La definición de esta consulta es la siguiente:

REPLACE( cadena, cadena_busqueda, cadena_sustitucion )

Sintaxis replace():

Para cualquiera que quiera reemplazar textos en columnas de su tabla de MySQL.

update dbo.[TABLE_NAME] set COLUMN_NAME= replace(COLUMN_NAME, 'old_value', 'new_value')
 where COLUMN_NAME like %CONDITION%

Nota:
Ahora que conoces la definición de la función mencionada, veamos como quedaría una consulta de reemplazo junto con la función REPLACE en una consulta SQL.

Primera forma: Ejemplo de UPDATE REPLACE SQL

En el siguiente ejemplo veremos una consulta SQL UPDATE con REPLACE. Por lo tanto, veremos una expiación de cómo funciona este reemplazo.

  • La palabra «valor» seria el nombre de la columna de una tabla que deseamos reemplazar.
  • Ahora, justo en esta columna vamos a incorporar la función Replace para realizar reemplazos dinámicos.
  • Replace() posee 3 campos
    • «Valor» que vendría a ser la columna de la tabla
    • Texto_buscado.- Vendría a ser el texto antiguo que buscaremos para poder reemplazaros por otro
    • Texto_reemplazado.- Es el texto nuevo que queremos cambiar por el antiguo.
UPDATE tabla
SET valor = REPLACE(valor, 'texto_buscado', 'texto_reemplazado');

Todo ronda en a funcion replace() y para complementar las consultas SQL veremos mas ejemplos para filtrar resultados y a la vez aplicarle las actualizaciones y reemplazos.

Segunda forma: Usando clausula WHERE  para reemplazar cadenas

En el siguiente ejemplo aplicaremos la función y también la clausula where para filtrar los registros a reemplazar, para este ejemplo filtraremos por la clausula LIKE.

UPDATE tabla
SET valor = REPLACE(valor, 'hola', 'saludos'), valor2 = valor2 +1
WHERE valor LIKE '%hola%bye%';

Tercera forma: Operador IN en MySQL para reemplazar textos

Se debe utilizar la siguiente consulta de actualización usando el operador IN()

UPDATE dbo.xxx SET Value=REPLACE(Value,'123\','') WHERE Id IN(1, 2, 3, 4)

Si esta usando números inferiores a 4 podría usar la siguiente consulta SQL

UPDATE dbo.xxx SET Value=REPLACE(Value,'123\','') WHERE Id <= 4

Cuarta forma: Operador AND y Like para actualizar y reemplazar

Para que la consulta se ejecute más rápido en tablas grandes donde no es necesario actualizar todas las líneas, también puede optar por actualizar solo las filas que se modificarán:

UPDATE dbo.xxx
SET Value = REPLACE(Value, '123', '')
WHERE ID <= 4
AND Value LIKE '%123%'

Conclusiones para REPLACE y UPDATE juntos en MySQL

SI deseamos reemplazar cadenas de cientos o miles de registros esta opción sería la mejor alternativa y nos ahorrara mucho tiempo.

En este articulo hemos aprendido y vimos la utilización de la función REPLACE y la consulta UPDATE. Por lo tanto. su uso es bastante sencilla y recomendada para reemplazos en masa.

También hemos aprendido a filtrar la información por determinados parámetros para solo realizar cambios en ese filtro.

Nestor Tapia

Bloggero, amante de la programación PHP, innovador y me fascina compartir información. Desde que conocí el entorno informatico y el internet me llamó la atención la programación, Por tal motivo he creado mi blog BAULPHP.COM para compartir mis experiencias con todos ustedes. ¡Gracias por leerme!.

Deja una respuesta

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

Botón volver arriba
Esta web utiliza cookies propias para su correcto funcionamiento. Contiene enlaces a sitios web de terceros con políticas de privacidad ajenas que podrás aceptar o no cuando accedas a ellos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad