UPDATE jest niebezpieczny, dlaczego? No cóż, zmienia dane, które znajdują się w bazie, jeden zły ruch i jest duży problem.
SQL Update Nieco Teorii…
W celu wykonania zmiany na rekordzie, a dokładniej mówiąc na jednym z jego elementów musisz użyć właśnie UPDATE. Poniżej schemat użycia.
Zmień tabelę ustawiając na jednej z kolumn nową wartość jeżeli warunek jest spełniony. Podobnie jak w przypadku INSERT, możesz również używać RETURNING.
1 2 3 4 |
UPDATE nazwa_tabeli SET kolumna1 = wartosc1, kolumna2 = wartosc2, ... WHERE warunek; |
Bardzo ważne, jest właściwe ustawienie warunku, aby nie zmienić danych we wszystkich rekordach danej kolumny.
Przykłady, Przykłady…
W przykładzie użyję danych z poprzedniej lekcji, w tabeli searchengine pozostają 4 rekordy.
Widzisz, że wszystko wygląda ładnie, ale jednak rekord o id równym 2 odstaje nieco od reszty. Dlatego poniższy przykład pokazuje w jaki sposób to zmienić.
1 2 3 |
UPDATE searchengine SET url='https://bing.com' WHERE ID=2 |
Po wykonaniu SELECT * FROM searchengine; rekord w kolumnie url został zmieniony, jednak przeszedł na koniec listy rekordów, oczywiście ORDER BY id; pomoże.
W danym rekordzie, zgodnie ze schematem użycia UPDATE, może zmienić w tym samym czasie kilka danych, poniżej przykład, w którym zmieniłem dla rekordu id równym 2 zarówno description jak i datę update.
1 2 3 4 5 |
UPDATE searchengine SET description='Bing Search Engine', update='2020-08-01' WHERE ID=2; |
W odpowiedzi po ponownym wykonaniu SELECT * FROM searchengine; zobaczysz, że te dane zostały dodane.
Podsumowanie
Z UPDATE jak widzisz, nie ma żartów, dlatego sprawdź zapytanie 3 razy zanim je wykonasz lub dla bezpieczeństwa zrób to na kopii bazy. Co dalej? W kolejnym wpisie DELETE.
Dziękuję Ci, za poświęcony czas na przeczytanie tego artykułu. Jeśli był on dla Ciebie przydatny, to gorąco zachęcam Cię do zapisania się na mój newsletter, jeżeli jeszcze Cię tam nie ma. Proszę Cię także o “polubienie” mojego bloga na Facebooku oraz kanału na YouTube – pomoże mi to dotrzeć do nowych odbiorców. Raz w tygodniu (niedziela punkt 17.00) otrzymasz powiadomienia o nowych artykułach / projektach zanim staną się publiczne. Możesz również pozostawić całkowicie anonimowy pomysł na wpis/nagranie.
Link do formularza tutaj: https://beitadmin.pl/pomysly
Pozostaw również komentarz lub napisz do mnie wiadomość odpisuję na każdą, jeżeli Masz jakieś pytania:).