Este artículo contiene SQL básico UPDATE declaraciones que los principiantes pueden usar para actualizar datos en sus tablas de base de datos.
Actualizar una sola columna
Aquí hay un ejemplo básico de SQL UPDATE declaración.
UPDATE Owners
SET LastName = 'Stallone'
WHERE OwnerId = 3;
En este caso, actualizamos el valor de una sola columna llamada LastName .
La UPDATE la declaración comienza con UPDATE , seguido del nombre de la tabla (es decir, la tabla que contiene los datos que desea actualizar).
Luego tiene el SET palabra clave, seguida de la columna que desea actualizar y el nuevo valor, separados por un igual (= ) operador.
Siempre debe incluir un WHERE cláusula, a menos que desee actualizar todas las filas con el mismo valor.
Sí, lo leiste bien. Omitir el WHERE cláusula actualizará todas las filas con el mismo valor.
La mayoría de los sistemas de administración de bases de datos (DBMS) tienen otras opciones que puede usar con UPDATE declaración, pero las que se enumeran aquí son las más utilizadas.
Actualizar varias columnas
Para actualizar varias columnas, separe cada par de columna/valor con una coma.
UPDATE Owners
SET LastName = 'Stallone',
Email = 'example@sqldat.com'
WHERE OwnerId = 3; Ejemplo
En este ejemplo, actualizamos una tabla.
En primer lugar, seleccionemos el contenido de la tabla.
SELECT * FROM Owners; Resultado:
+-----------+-------------+------------+----------------+-------------------+ | OwnerId | FirstName | LastName | Phone | Email | |-----------+-------------+------------+----------------+-------------------| | 1 | Homer | Connery | (308) 555-0100 | example@sqldat.com | | 2 | Bart | Pitt | (231) 465-3497 | example@sqldat.com | | 3 | Nancy | Simpson | (489) 591-0408 | NULL | | 4 | Boris | Trump | (349) 611-8908 | NULL | | 5 | Woody | Eastwood | (308) 555-0112 | example@sqldat.com | +-----------+-------------+------------+----------------+-------------------+
Nancy Simpson se casó recientemente y cambió su apellido, por lo que actualizaremos Simpson a Stallone .
Ahora actualicemos esa columna, luego seleccionemos la tabla nuevamente.
UPDATE Owners
SET LastName = 'Stallone'
WHERE OwnerId = 3;
SELECT * FROM Owners; Resultado:
+-----------+-------------+------------+----------------+-------------------+ | OwnerId | FirstName | LastName | Phone | Email | |-----------+-------------+------------+----------------+-------------------| | 1 | Homer | Connery | (308) 555-0100 | example@sqldat.com | | 2 | Bart | Pitt | (231) 465-3497 | example@sqldat.com | | 3 | Nancy | Stallone | (489) 591-0408 | NULL | | 4 | Boris | Trump | (349) 611-8908 | NULL | | 5 | Woody | Eastwood | (308) 555-0112 | example@sqldat.com | +-----------+-------------+------------+----------------+-------------------+
Podemos ver que la columna se ha actualizado como se especifica.
Actualizar varias columnas
Este es un ejemplo de cómo actualizar varias columnas.
UPDATE Owners
SET LastName = 'Biden',
Email = 'example@sqldat.com'
WHERE OwnerId = 4;
SELECT * FROM Owners; Resultado:
+-----------+-------------+------------+----------------+-------------------+ | OwnerId | FirstName | LastName | Phone | Email | |-----------+-------------+------------+----------------+-------------------| | 1 | Homer | Connery | (308) 555-0100 | example@sqldat.com | | 2 | Bart | Pitt | (231) 465-3497 | example@sqldat.com | | 3 | Nancy | Stallone | (489) 591-0408 | NULL | | 4 | Boris | Biden | (349) 611-8908 | example@sqldat.com | | 5 | Woody | Eastwood | (308) 555-0112 | example@sqldat.com | +-----------+-------------+------------+----------------+-------------------+
En este caso, actualizamos el apellido y la dirección de correo electrónico del propietario 4.
¡Precaución! Olvidando el WHERE Cláusula
La UPDATE declaración puede ser una declaración muy peligrosa si no mantiene su ingenio sobre usted. Si omite el WHERE cláusula, actualizará todas filas en la tabla.
Hagamos el ejemplo anterior nuevamente, pero esta vez nos olvidaremos de incluir el WHERE cláusula.
UPDATE Owners
SET LastName = 'Stallone';
SELECT * FROM Owners; Resultado:
+-----------+-------------+------------+----------------+-------------------+ | OwnerId | FirstName | LastName | Phone | Email | |-----------+-------------+------------+----------------+-------------------| | 1 | Homer | Stallone | (308) 555-0100 | example@sqldat.com | | 2 | Bart | Stallone | (231) 465-3497 | example@sqldat.com | | 3 | Nancy | Stallone | (489) 591-0408 | NULL | | 4 | Boris | Stallone | (349) 611-8908 | NULL | | 5 | Woody | Stallone | (308) 555-0112 | example@sqldat.com | +-----------+-------------+------------+----------------+-------------------+
¡Ups! ¡Ahora el apellido de todos es Stallone!
Puede haber momentos en los que de hecho tenga la intención de actualizar todas las filas de la tabla, pero esos momentos suelen ser bastante raros.
Cuando ejecuta consultas ad hoc, es posible que desee ejecutar un SELECT rápido declaración que utiliza la misma condición de su UPDATE operación antes de ejecutar realmente UPDATE operación.
SELECT * FROM Owners
WHERE OwnerId = 4; Resultado:
+-----------+-------------+------------+----------------+-------------------+ | OwnerId | FirstName | LastName | Phone | Email | |-----------+-------------+------------+----------------+-------------------| | 4 | Boris | Biden | (349) 611-8908 | example@sqldat.com | +-----------+-------------+------------+----------------+-------------------+
Eso nos muestra la fila exacta que se actualizará. Una vez que estemos satisfechos de que está devolviendo la fila correcta, podemos continuar y usar ese mismo WHERE cláusula en UPDATE declaración.