Polecenie UPDATE w języku SQL służy właśnie do modyfikowania danych już istniejących w tabeli bazy danych. To taki podstawowy, codzienny „chleb powszedni” każdego, kto zarządza bazami relacyjnymi. Za jego pomocą możesz zmienić dowolne pole w pojedynczym rekordzie lub nawet zaktualizować wiele rekordów jednocześnie, oczywiście jeśli przemyślisz dobrze klauzulę WHERE. Przykład z życia: chcesz zmienić adres e-mail użytkownika albo zaktualizować cenę produktu po podwyżce w hurtowni. Polecenie UPDATE pozwala na to bez konieczności kasowania i ponownego dodawania rekordu. Z mojego doświadczenia bardzo ważne jest, żeby nigdy nie pomijać warunku WHERE, bo wtedy zaktualizujesz wszystkie rekordy w tabeli i możesz nieźle namieszać – sam się kiedyś na tym przejechałem. W środowiskach produkcyjnych stosuje się dodatkowo transakcje i backupy przed większymi aktualizacjami, żeby uniknąć chaosu. No i, co istotne, UPDATE jest częścią standardu SQL (ANSI SQL), więc działa podobnie w większości popularnych systemów, np. MySQL, PostgreSQL czy MS SQL Server. Moim zdaniem, dobra znajomość tego polecenia to podstawa dla każdego przyszłego administratora czy developera baz danych. Warto pamiętać, że poprzez UPDATE można nie tylko zmieniać zwykłe pola, ale też pracować z bardziej złożonymi wyrażeniami, np. inkrementować wartości liczników czy korzystać z podzapytań.
Wybór polecenia innego niż UPDATE do modyfikacji istniejącego rekordu w tabeli SQL to dość powszechne nieporozumienie, zwłaszcza u osób, które dopiero zaczynają pracę z bazami danych. SELECT służy wyłącznie do pobierania danych. Możesz za jego pomocą przefiltrować, posortować czy połączyć dane z kilku tabel, ale nigdy ich nie zmienisz – to jak czytanie informacji bez możliwości ich edycji. Z kolei INSERT przydaje się, gdy chcemy dodać całkiem nowy rekord – to taki „dodawacz”, a nie „modyfikator”. W praktyce, jeśli użyjesz INSERT do rekordu, który już istnieje (np. z tym samym kluczem głównym), baza danych najczęściej zgłosi błąd unikalności, bo nie pozwala na duplikaty. ALTER natomiast jest w ogóle inną kategorią – on zmienia strukturę tabeli, np. dodaje nowe kolumny, zmienia typy danych, a nie dotyka pojedynczych rekordów. Typowym błędem jest myślenie, że skoro chcę „zmienić coś w tabeli”, to ALTER będzie dobry – a to zupełnie coś innego, bo chodzi o strukturę, nie dane. Często spotykam się też z podejściem, że SELECT z UPDATE to prawie to samo, bo oba działają na tych samych tabelach, ale różnica jest zasadnicza: jeden tylko czyta, drugi zmienia dane. Moim zdaniem, trzeba się tego po prostu nauczyć na pamięć i trochę poćwiczyć pisanie zapytań, bo potem te polecenia SQL stają się intuicyjne i nie myli się już tych pojęć. W każdym razie, jeśli chcesz poprawić dane rekordu, musisz sięgnąć po UPDATE, bo tylko ono daje taką możliwość zgodnie ze standardami SQL i praktykami branżowymi.