Database
 sql >> Baza danych >  >> RDS >> Database

AKTUALIZACJA SQL dla początkujących

Ten artykuł zawiera podstawową UPDATE SQL oświadczenia, których początkujący mogą używać do aktualizowania danych w swoich tabelach bazy danych.

Zaktualizuj pojedynczą kolumnę

Oto podstawowy przykład SQL UPDATE oświadczenie.

UPDATE Owners
SET LastName = 'Stallone'
WHERE OwnerId = 3;

W tym przypadku zaktualizowaliśmy wartość pojedynczej kolumny o nazwie LastName .

UPDATE instrukcja zaczyna się od UPDATE , a następnie nazwa tabeli (tj. tabela zawierająca dane, które chcesz zaktualizować).

Następnie ma SET słowo kluczowe, po którym następuje kolumna, którą chcesz zaktualizować, oraz nowa wartość, oddzielone znakiem równości (= ) operatora.

Zawsze należy dołączyć WHERE klauzuli, chyba że chcesz zaktualizować wszystkie wiersze o tej samej wartości.

Tak, dobrze to przeczytałeś. Pominięcie WHERE klauzula zaktualizuje wszystkie wiersze o tej samej wartości.

Większość systemów zarządzania bazami danych (DBMS) ma różne inne opcje, których można użyć z UPDATE oświadczenie, ale te wymienione tutaj są najczęściej używane.

Zaktualizuj wiele kolumn

Aby zaktualizować wiele kolumn, oddziel każdą parę kolumna/wartość przecinkiem.

UPDATE Owners
SET LastName = 'Stallone',
    Email = '[email protected]'
WHERE OwnerId = 3;

Przykład

W tym przykładzie aktualizujemy tabelę.

Przede wszystkim wybierzmy zawartość tabeli.

SELECT * FROM Owners;

Wynik:

+-----------+-------------+------------+----------------+-------------------+
| 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 niedawno wyszła za mąż i zmieniła swoje nazwisko, więc zaktualizujemy Simpson do Stallone .

Teraz zaktualizujmy tę kolumnę, a następnie ponownie wybierz tabelę.

UPDATE Owners
SET LastName = 'Stallone'
WHERE OwnerId = 3;

SELECT * FROM Owners;

Wynik:

+-----------+-------------+------------+----------------+-------------------+
| 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] |
+-----------+-------------+------------+----------------+-------------------+

Widzimy, że kolumna została zaktualizowana zgodnie z opisem.

Zaktualizuj wiele kolumn

Oto przykład aktualizacji wielu kolumn.

UPDATE Owners
SET LastName = 'Biden',
    Email = '[email protected]'
WHERE OwnerId = 4;

SELECT * FROM Owners;

Wynik:

+-----------+-------------+------------+----------------+-------------------+
| 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] |
+-----------+-------------+------------+----------------+-------------------+

W tym przypadku zaktualizowaliśmy nazwisko i adres e-mail właściciela 4.

Uwaga! Zapominanie WHERE Klauzula

UPDATE oświadczenie może być bardzo niebezpiecznym stwierdzeniem, jeśli nie zachowujesz rozsądku. Jeśli pominiesz WHERE klauzula, zaktualizujesz wszystkie wierszy w tabeli.

Zróbmy ponownie poprzedni przykład, ale tym razem zapomnimy dołączyć WHERE klauzula.

UPDATE Owners
SET LastName = 'Stallone';

SELECT * FROM Owners;

Wynik:

+-----------+-------------+------------+----------------+-------------------+
| 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! Teraz wszyscy nazywają się Stallone!

Może się zdarzyć, że rzeczywiście zamierzasz zaktualizować wszystkie wiersze w tabeli, ale takie sytuacje są zwykle dość rzadkie.

Kiedy uruchamiasz zapytania ad hoc, możesz chcieć uruchomić szybki SELECT instrukcja, która używa tego samego warunku twojego UPDATE operacja przed faktycznym uruchomieniem UPDATE operacja.

SELECT * FROM Owners
WHERE OwnerId = 4;

Wynik:

+-----------+-------------+------------+----------------+-------------------+
| OwnerId   | FirstName   | LastName   | Phone          | Email             |
|-----------+-------------+------------+----------------+-------------------|
| 4         | Boris       | Biden      | (349) 611-8908 | [email protected] |
+-----------+-------------+------------+----------------+-------------------+

To pokazuje nam dokładny wiersz, który zostanie zaktualizowany. Po upewnieniu się, że zwraca poprawny wiersz, możemy kontynuować i użyć tego samego WHERE klauzula w UPDATE oświadczenie.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Strukturalny język zapytań – znaczenie nauki języka SQL

  2. Normalizacja i wydajność w trybie wsadowym

  3. Jak grupować według roku w SQL

  4. Zintegrowany model danych transportowych

  5. Jak zainstalować i skonfigurować ClickHouse na Ubuntu 20.04