sql >> Base de Datos >  >> RDS >> Database

ACTUALIZACIÓN SQL para principiantes

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 = '[email protected]'
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 | [email protected] |
| 2         | Bart        | Pitt       | (231) 465-3497 | [email protected]  |
| 3         | Nancy       | Simpson    | (489) 591-0408 | NULL              |
| 4         | Boris       | Trump      | (349) 611-8908 | NULL              |
| 5         | Woody       | Eastwood   | (308) 555-0112 | [email protected] |
+-----------+-------------+------------+----------------+-------------------+

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 | [email protected] |
| 2         | Bart        | Pitt       | (231) 465-3497 | [email protected]  |
| 3         | Nancy       | Stallone   | (489) 591-0408 | NULL              |
| 4         | Boris       | Trump      | (349) 611-8908 | NULL              |
| 5         | Woody       | Eastwood   | (308) 555-0112 | [email protected] |
+-----------+-------------+------------+----------------+-------------------+

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 = '[email protected]'
WHERE OwnerId = 4;

SELECT * FROM Owners;

Resultado:

+-----------+-------------+------------+----------------+-------------------+
| OwnerId   | FirstName   | LastName   | Phone          | Email             |
|-----------+-------------+------------+----------------+-------------------|
| 1         | Homer       | Connery    | (308) 555-0100 | [email protected] |
| 2         | Bart        | Pitt       | (231) 465-3497 | [email protected]  |
| 3         | Nancy       | Stallone   | (489) 591-0408 | NULL              |
| 4         | Boris       | Biden      | (349) 611-8908 | [email protected] |
| 5         | Woody       | Eastwood   | (308) 555-0112 | [email protected] |
+-----------+-------------+------------+----------------+-------------------+

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 | [email protected] |
| 2         | Bart        | Stallone   | (231) 465-3497 | [email protected]  |
| 3         | Nancy       | Stallone   | (489) 591-0408 | NULL              |
| 4         | Boris       | Stallone   | (349) 611-8908 | NULL              |
| 5         | Woody       | Stallone   | (308) 555-0112 | [email protected] |
+-----------+-------------+------------+----------------+-------------------+

¡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 | [email protected] |
+-----------+-------------+------------+----------------+-------------------+

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.