Kurs PostgreSQL 11 – Insert cz.28

Print Friendly, PDF & Email

Do tej pory pokazywałem działanie PostgreSQL na danych, które były już w testowej bazie, jednak trzeba wiedzieć jak dane do tabel dodawać. Dlatego też w tym wpisie przedstawię pierwszą część użycia Inserta.

SQL Insert Nieco Teorii…

Sam schemat Inserta jest raczej oczywisty. Potrzebna jest tabela, do której dane mają zostać dodane, oczywiście konieczne jest umieszczenie danych dokładnie w takiej kolejności, w jakiej zostały utworzone w tabeli.

Tłumacząc poniższy schemat, będzie tak: dodaj do nazwa_tabeli do konkretnych kolumn, wartości z nawiasów. Zarówno kolumny, jak i wartości oddzielone zostają przecinkiem.

Jednak są dodatkowe rzeczy, które warto znać, dodaje się je zawsze po VALUES.

I tak:

Przykłady, Przykłady…

Na początek utwórz nową tabelę, która będzie nazywała się searchengine, będzie zawierała kilka kolumn: id, url, name, description, update.

Na początek tabela zostanie usunięta, jeżeli oczywiście istnieje, następnie ponownie zostanie utworzona z ww. kolumnami.

Pierwsze dodanie danych do nowo utworzonej tabeli.

Po poprawnym, dodaniu rekordu, otrzymasz poniższą odpowiedź.

Potwierdzenie dodania

Przy pomocy SELECT * FROM searchengine; wyświetli się poniższa informacja.

Jak widzisz, INSERT automatycznie dodał null tam, gdzie nie miał danych do wprowadzenia.

Dodanie nowych informacji

Przy poniższym dodaniu danych do tabeli użyj RETURNING id, dzięki, czemu wyświetli się w odpowiedzi id nowo dodanego rekordu.

Teraz po ponownym wykonaniu SELECT * FROM searchengine; pojawi się taki widok.

Dodanie kolejnego wiersza

Jak widzisz, id ma wartość 2, ponieważ jest to drugi w kolei rekord w tej tabeli.

Zwraca ID dodanego elementu

Jednak takie podejście nie jest zbyt optymalne, czy można lepiej? Tak możesz za jednym wywołaniem Insert, dodać kilka rekordów do tabeli. Poniżej przykład takiego podejścia, oczywiście możesz użyć RETURNING id;

Jak widzisz bez żadnych zmian w szablonie INSERT, możesz dodać jednorazowo kilka rekordów. RETURNING pokazał dwa nowe rekordy, natomiast SELECT * FROM searchengine; wszystkie obecne rekordy w tabeli.

Zwraca ID dodanych elementów
Wyświetlenie wszystkich dodanych wierszy

Podsumowanie

Widzisz, że INSERT nie jest trudny, nie jest również niebezpieczny, ponieważ modyfikuje co prawda tabelę, ale nie dane, które już wcześnie tam były. Bardziej niebezpieczne jest używanie UPDATE, o czym w kolejnym wpisie.

Print Friendly, PDF & Email

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:).

Dodaj komentarz

beitadmin.pl - Droga Administratora IT