UPDATE SQL: ¿Cómo actualizar datos en una tabla en SQL Server?

IniciosqlUpdate SQL
UPDATE SQL: ¿Cómo actualizar datos en una tabla en SQL Server?

by Juan Carlos García

3-Mzo-2023

(1)

Suscribirme al canal:

Hola amigo / amiga, bienvenido a este nuevo post donde revisaremos y aprenderemos a actualizar datos de una tabla en SQL Server, todo esto lo haremos a través de la clausula UPDATE SQL, la cual, tiene bastantes casos de uso dentro T-SQL, pero, en este post nos centraremos en aquellas consultas básicas y más comunes.

El objetivo es que al finalizar aprendas que: mediante el comando UPDATE SQL, le indicamos al motor de base de datos que deseamos actualizar información en una tablas de una base de datos, con el cual, podremos indicar los campos que deseamos actualizar y las condiciones que se deben cumplir para llevar acabo dicho UPDATE, pero para no confundirte más, comencemos con este tema.

¡No te puedes perder las nuevas clases 🧐!

SQL

SQL

SQL: Curso gratuito de SQL ¿Qué es el lenguaje SQL? Sintaxis y sentencias básicas

CREATE, DROP Y ALTER DATABASE

CREATE, DROP Y ALTER DATABASE

¿Cómo crear (CREATE DATABASE), modificar (ALTER DATABASE) y eliminar (DROP DATABASE) una base de datos en SQL Server?

CREATE, DROP Y ALTER TABLE

CREATE, DROP Y ALTER TABLE

Manejo de tablas en SQL Server: CREATE TABLE, ALTER TABLE y DROP TABLE.

SELECT SQL

SELECT SQL

SELECT SQL SERVER: ¿Cómo seleccionar y consultar datos en SQL Server?

INSERT SQL

INSERT SQL

INSERT SQL SERVER: ¿Cómo insertar datos en una tabla desde SQL Server? Sintaxis y ejemplos.

JOIN SQL

JOIN SQL

JOIN SQL: ¿Qué son y cómo funcionan INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN y CROSS JOIN?

Update SQL

Update SQL

UPDATE SQL: ¿Cómo actualizar datos en una tabla en SQL Server?

DELETE SQL

DELETE SQL

DELETE SQL y TRUNCATE TABLE: ¿Cómo eliminar datos de una tabla en SQL Server?

Stored Procedure en SQL Server

Stored Procedure en SQL Server

Stored Procedure en SQL Server: ¿Cómo crear, modificar y ejecutar procedimientos almacenados en SQL Server?

Conexión Remota en SQL Server

Conexión Remota en SQL Server

Habilitar la Conexión Remota en SQL Server con VirtualBox

Connection String

Connection String

Connection String de SQL Server: Una Guía Completa para Establecer Conexiones con la Base de Datos

SQL Server SUBSTRING

SQL Server SUBSTRING

Guía Completa de SQL Server SUBSTRING: Uso y Ejemplos

CASE en SQL Server

CASE en SQL Server

Cláusula CASE en SQL Server: Uso y Ejemplos de Condicionales en Consultas

SQL Server REPLACE

SQL Server REPLACE

SQL Server REPLACE: Función para la manipulación de cadenas de texto

IF en SQL Server

IF en SQL Server

Sentencias IF, IF-ELSE e IF-EXISTS en SQL Server: Guía completa.

🧐 Autoevaluación: Update SQL

¿Cómo hacer un UPDATE en SQL Server?

¿Cómo actualizar una fila en SQL?

¿Cómo podemos actualizar todos los datos de una columna?

Para comprender esta clase a la perfección, te recomiendo que des un repaso a estos vídeos, no olvides en suscribirte a mi canal de YouTube:

⚠️ NOTA: recuerda que SQL Server utiliza el lenguaje Transact-SQL (T-SQL) el cual es una variante mejorada del lenguaje SQL, por lo tanto, el comando UPDATE lo intentaré hacer lo más apegado a SQL, pero, si hay que profundizar, lo haré tomando en cuenta la sintaxis que proporciona Transact-SQL.

 

UPDATE SQL: ¿Cómo actualizar datos de una o más tablas en SQL Server?

Actualizar la información de una tabla dentro de una base de datos puede llegar a ser algo complejo, ya que, crear consultas (querys) relacionados a UPDATE, requiere conocer muchas clausulas que nos ayude a operar nuestros datos y, sobre todo, tener mucho cuidado al ejecutar este tipo de clausulas, por ejemplo:

  • Debemos conocer como funciona la clausula WHERE, SET, INNER JOIN, FROM, ya que, debemos comprender a la perfección como podemos agregar condicionales y saber seleccionar los datos correctos.
  • Todo lo anterior ya lo hemos visto en clases pasadas, así que te recomiendo revisarlas sino estas muy familiarizado con el lenguaje SQL.

Hoy veremos varios ejemplos donde utilizaremos la clausula UPDATE, donde, espero te quede claro la importancia, y cuidados que debes tener al utilizar este comando.

 

¿Qué es y para que sirve UPDATE SQL?

A través de UPDATE SQL podemos actualizar datos existentes dentro de una tabla de una base de datos.

Lo anterior indica que con UPDATE SQL indicamos que deseamos actualizar información y, para ello, debemos especificar como mínimo:

  • La tabla que deseamos afectar (la tabla puede ser una tabla temporal, variable tipo tabla, vista o simplemente una tabla regular).
  • Los campos dentro de la tabla que deseamos actualizar.
  • Especificar la nueva información que deseamos introducir a nuestra tabla.
  • Las condiciones que se deben cumplir para poder llevar acabo la actualización de datos, no obstante, podemos ejecutar un UPDATE sin condicionales, sin embargo, esto muchas veces no es recomendable.

📌 NOTA: llevar acabo un UPDATE es critico, ya que, los cambios no podrán ser revertidos a menos que tengas un respaldo de los mismo, como siempre, te recomiendo que  tus practicas las lleves acabo en un ambiente de pruebas o desarrollo y NUNCA en un ambiente productivo, recuerda que este post es educativo y no debe considerarse una recomendación.

 

Sintaxis T-SQL: UPDATE

[ WITH <common_table_expression> [...n] ]  
UPDATE   
    [ TOP ( expression ) [ PERCENT ] ]   
    { { table_alias | <object> | rowset_function_limited   
         [ WITH ( <Table_Hint_Limited> [ ...n ] ) ]  
      }  
      | @table_variable      
    }  
    SET  
        { column_name = { expression | DEFAULT | NULL }  
          | { udt_column_name.{ { property_name = expression  
                                | field_name = expression }  
                                | method_name ( argument [ ,...n ] )  
                              }  
          }  
          | column_name { .WRITE ( expression , @Offset , @Length ) }  
          | @variable = expression  
          | @variable = column = expression  
          | column_name { += | -= | *= | /= | %= | &= | ^= | |= } expression  
          | @variable { += | -= | *= | /= | %= | &= | ^= | |= } expression  
          | @variable = column { += | -= | *= | /= | %= | &= | ^= | |= } expression  
        } [ ,...n ]   
  
    [ <OUTPUT Clause> ]  
    [ FROM{ <table_source> } [ ,...n ] ]   
    [ WHERE { <search_condition>   
            | { [ CURRENT OF   
                  { { [ GLOBAL ] cursor_name }   
                      | cursor_variable_name   
                  }   
                ]  
              }  
            }   
    ]   
    [ OPTION ( <query_hint> [ ,...n ] ) ]  
[ ; ]  
  
<object> ::=  
{   
    [ server_name . database_name . schema_name .   
    | database_name .[ schema_name ] .   
    | schema_name .  
    ]  
    table_or_view_name}  

 

De esta sintaxis podemos destacar los siguientes puntos:

  • table_or_view_name: indicamos la tabla de trabajo y donde deseamos actualizar información.
  • SET: especificamos la lista de las columnas que deseamos actualizar.
  • column_name: nombre de la columna o atributo a actualizar.
  • FROM y table_source: nos permite especificar una tabla como origen de datos y estable los criterios para la actualización de datos.
  • WHERE: condiciones que se deben cumplir para llevar acabo la actualización de datos.

Como puedes observar, llevar acabo un UPDATE involucra varias cosas, ya que, podemos crear una consulta básica, hasta consultas o querys demasiados complejos que involucren varias tablas, condiciones y/o uniones, no obstante, te dejo la página de la documentación para que revises la información por ti mismo: fuente.

En los siguientes ejemplos crearemos consultas básicas y comunes que te serán de gran ayuda en la practica, así que pasemos a los ejemplos para que te quede más claro.

Las tablas y bases de datos que utilizaremos las hemos creado en las clases anteriores, así que si tienes dudas por favor revisa las siguientes clases:

 

UPDATE SQL: ¿Cómo actualizar todos los datos de una columna en una tabla?

Podemos utilizar el caso de uso más simple del UPDATE para actualizar todos los registros relacionados a una columna en particular, esto lo logramos al no especificar un WHERE (condiciones) en la consulta, por ejemplo:

USE ewebikdb;

UPDATE tipos_gps
SET modelo = 'Modelo único'
;

Como puedes ver es una consulta muy simple, pero, que afecta a todos los datos perteneciente al atributo modelo, es por ello que siempre debes tener mucho cuidado al ejecutar consultas sin un WHERE.

  • UPDATE tipos_gps: especificamos que queremos hacer el UPDATE sobre la tabla tipos_gps.
  • SET modelo = 'Modelo único': establecemos que el campo modelo es el que deseamos actualizar y el valor “Modelo único” es lo que deseamos introducir como nuevo dato.
  • Si vemos la salida de la ejecución de nuestra consulta, en la siguiente imagen vemos a la izquierda los datos antes de la ejecución y a la derecha los nuevos datos después del UPDATE.
Resultado de ejecutar un UPDATE SQL sin WHERE, es decir, actualizar todos los datos de una columna.

 

UPDATE SQL: ¿Cómo actualizar todos los datos de varias columna en una tabla?

Ahora veamos como podemos actualizar todos los datos en más de una columna, para ello, ahora en vez de un solo atributo en el SET, especificaremos una lista de atributos separados por comas y, para afectar todos los datos, tampoco especificaremos un WHERE.

 USE ewebikdb;

UPDATE tipos_gps
SET 
	modelo = 'Modelo1',
	protocolo = 'Protocolo1'	
;
  • Como puedes ver, ahora hemos indicado que deseamos actualiza los campos modelo y protocolo, pero, sin especificar ninguna condición, así que afectaremos todos los datos.
  • Ahora veamos el resultado de nuestra consulta en la siguiente imagen, izquierda antes de la ejecución, derecha después de la ejecución, recuerda que las tablas las creamos en post anteriores, por favor revísalos si tienes dudas.
Resultado de ejecutar un UPDATE SQL sin WHERE, es decir, actualizar todos los datos de varias columna.

UPDATE SQL con WHERE: ¿Cómo actualizar datos específicos en una tabla?

Otro ejemplo importante que debemos revisar es como actualizar uno o más datos en específicos, siempre y cuando estos satisfagan nuestras condicionales que establezcamos a través de WHERE, por ejemplo: actualicemos lo siguiente:

  • Al registro cod_gps = 2, regresémoslo al valor “Modelo2” y “Protocolo2”.
 USE ewebikdb;

UPDATE tipos_gps
SET 
	modelo = 'Modelo2',
	protocolo = 'Protocolo2'
WHERE
	cod_gps = 2
;
  • A través de WHERE podemos especificar las condiciones que se deben cumplir para que se lleve acabo el UPDATE, que en este caso, solo afectamos al registro con cod_gps = 2, tal como se ve en la siguiente imagen.
Actualizando un dato especifico a través de UPDATE SQL con WHARE.

UPDATE SQL SELECT: ¿Cómo actualizar datos con información de otras tablas?

Ahora utilicemos las tablas: tipos_gps_2 y equipos_gps; para actualizar información en la tabla tipos_gps, ya que en la práctica, seguramente tendrás que cruzar varias tablas y de ese cruce actualizar otra tabla, por ejemplo: actualicemos tipos_gps utilizando la unión de tipos_gps_2 y equipos_gps.

USE ewebikdb;

UPDATE tipos_gps
SET 
	modelo = tg2.modelo,
	protocolo = tg2.protocolo
FROM tipos_gps_2 AS tg2
INNER JOIN equipos_gps AS eg	ON	tg2.cod_gps = eg.cod_gps
WHERE
	tipos_gps.cod_gps = eg.cod_gps
;

Analicemos un poco el código:

  • La tabla de donde obtendremos los datos es tipos_gps_2, de dicha tabla obtendremos el valor de modelo y protocolo, con los cuales actualizaremos la tabla tipos_gps.
  • Pero, para hacer la actualización se debe cumplir que, los datos deben existir tanto en tipos_gps_2 y equipos_gps; esto lo establecemos a través de INNER JOIN (recuerda que hicimos toda una clase sobre esto: JOIN SQL).
  • Y para asegurarnos que únicamente se actualicen los datos que concuerden en todas las tablas, agregamos un WHERE donde condicionamos que el valor de cod_gps debe ser igual en tipos_gps y equipos_gps.
  • Según los datos en las tablas, sólo deberíamos afectar los dato donde cod_gps es igual a 1 y 3, tal como se ve en la siguiente imagen.
Resultado de UPDATE SQL FROM Y JOIN: actualiza los datos de una tabla con datos de otras tablas.

 

Conclusión: UPDATE SQL

Excelente, hemos llegado al final de este post, hoy has aprendido como puedes actualizar los datos en una tabla, por ejemplo:

  • Actualizar todo los datos de una columna.
  • Actualizar todos los datos de varias columnas.
  • También vimos como hacer un tipo SELECT de otras tablas para obtener información y utilizarla como tabla fuente para actualizar otra tabla.

Te recomiendo repasar la clase y comprender cada concepto para cuando lo llegues a necesitar, recuerda no operar en ambientes productivos y siempre se precavido con la ejecución de tus consultas, nos vemos en el siguiente post.

🧐 Autoevaluación: Update SQL

¿Cómo hacer un UPDATE en SQL Server?

¿Cómo actualizar una fila en SQL?

¿Cómo podemos actualizar todos los datos de una columna?

Juan Carlos

Juan Carlos García

Desarrollador de software / SEO

Durante años he desarrollado plataformas dedicadas al rastreo satelital y varios sitios web que se encuentran en la primera página de Google, y hoy quiero compartir contigo lo que se en tecnologías como: Node JS, PHP, C# y Bases de datos.

Si quieres apoyarme sígueme en mis redes sociales y suscríbete a mi canal de YouTube.

EWebik

Diseño de páginas web y aplicaciones moviles.

© 2024 EWebik