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ónREPLACE
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.