Polecenie UPDATE to w SQL podstawowe narzędzie do modyfikowania istniejących danych w tabelach. W praktyce oznacza to, że jeśli chcesz np. zmienić wartość jakiegoś pola dla wybranego rekordu, to właśnie tego polecenia używasz. Przykład z życia: masz tabelę pracowników i ktoś zmienił numer telefonu – nie robisz nowego wpisu, nie tworzysz nowej tabeli, tylko aktualizujesz jedną kolumnę w odpowiednim wierszu. Składnia tego polecenia jest dość intuicyjna: UPDATE nazwa_tabeli SET kolumna=nowa_wartość WHERE warunek. Bardzo ważne jest stosowanie klauzuli WHERE, bo inaczej możesz przez przypadek podmienić dane we wszystkich wierszach tabeli, co niestety zdarza się nawet doświadczonym programistom, zwłaszcza przy pracy na środowiskach testowych. Warto wiedzieć, że SQL-92 (czyli jeden z najważniejszych standardów języka SQL) dokładnie opisuje sposób działania tego polecenia. Często w praktyce spotyka się też połączenie UPDATE z transakcjami, żeby mieć możliwość cofnięcia zmian, gdyby coś poszło nie tak. Moim zdaniem umiejętne stosowanie UPDATE to podstawa pracy z bazami danych – prawie każdy większy system korzysta z tego polecenia na co dzień. Dobrze też pamiętać o bezpieczeństwie i zawsze sprawdzać, czy warunek w WHERE jest poprawny, żeby nie napsuć w danych. Praktyka czyni mistrza i z czasem takie operacje wchodzą w krew.
W zapytaniach SQL kluczowym aspektem jest właściwe rozróżnianie poleceń w zależności od celu, jaki chcemy osiągnąć. CREATE wcale nie służy do modyfikowania istniejących danych – jest wykorzystywane do tworzenia nowych obiektów w bazie, takich jak tabele czy bazy danych. To polecenie raczej przydaje się na początku pracy z bazą, kiedy dopiero budujesz jej strukturę, a nie wtedy, gdy chcesz zmienić konkretne rekordy w środku tabeli. SELECT natomiast to zapytanie typowo odczytujące, służy do pobierania danych z bazy, ale nie pozwala na ich modyfikację. Wiele osób, szczególnie na początku nauki SQL, myli SELECT z możliwością zmiany danych, bo można dzięki niemu wyświetlić różne kombinacje danych, ale nie da się ich w ten sposób podmienić. JOIN z kolei to klauzula, która pozwala łączyć dane z różnych tabel według określonych warunków – służy głównie do budowania relacji i pobierania zestawów danych, a nie do edycji tych już zapisanych. W moim odczuciu często spotyka się przekonanie, że można modyfikować dane przy użyciu CREATE lub SELECT, ale to niestety błąd logiczny. Jedynym poprawnym podejściem w SQL do zmiany już istniejących danych jest użycie UPDATE, co wynika bezpośrednio ze specyfikacji języka oraz praktyk stosowanych w branży IT. Jeżeli ktoś błędnie wybierze inne polecenie, zwykle wynika to z nieznajomości różnic między poleceniami DML (Data Manipulation Language), do których należy UPDATE, a poleceniami DDL (Data Definition Language), jak CREATE, lub z mylenia operacji odczytu z modyfikacją. Warto zawsze dopytać siebie o faktyczny cel operacji i dobrać do niego odpowiednie polecenie SQL – to znacznie ułatwia późniejszą pracę z bazami danych i pozwala uniknąć nieporozumień.