Znajomość i manipulowanie systemami zarządzania bazami danych zapoznała nas ze zmianami dotyczącymi baz danych. Co zazwyczaj obejmuje tworzenie, wstawianie, aktualizowanie i usuwanie funkcji stosowanych w określonych tabelach. W bieżącym artykule zobaczymy, jak dane są zarządzane przez metodę wstawiania. Musimy stworzyć tabelę, w której chcemy wstawić. Instrukcja Insert służy do dodawania nowych danych w wierszach tabel. Instrukcja inserts PostgreSQL zawiera pewne zasady pomyślnego wykonania zapytania. Najpierw musimy podać nazwę tabeli, a następnie nazwy kolumn (atrybuty), do których chcemy wstawić wiersze. Po drugie, musimy wprowadzić wartości oddzielone przecinkiem po klauzuli VALUE. Wreszcie, każda wartość musi być w tej samej kolejności, w jakiej sekwencja list atrybutów jest podana podczas tworzenia konkretnej tabeli.
Składnia
>> WSTAWIĆ DONAZWA TABELI(kolumna1,kolumna) WARTOŚCI („wartość1”, „wartość2”);Tutaj kolumna to atrybuty tabeli. Słowo kluczowe VALUE służy do wprowadzania wartości. „Wartość” to dane tabel, które należy wprowadzić.
Wstawianie funkcji wierszowych w powłoce PostgreSQL (psql)
Po udanej instalacji postgresql wprowadzimy nazwę bazy danych, numer portu i hasło. Psql zostanie zainicjowany. Następnie wykonamy odpowiednio zapytania.
Przykład 1: Używanie INSERT do dodawania nowych rekordów do tabel
Zgodnie ze składnią utworzymy następujące zapytanie. Aby wstawić wiersz do tabeli, stworzymy tabelę o nazwie klient. Odpowiednia tabela zawiera 3 kolumny. Należy wspomnieć o typie danych poszczególnych kolumn, aby wprowadzić dane w tej kolumnie i uniknąć nadmiarowości. Zapytanie do utworzenia tabeli to:
>> Stwórz Tabelaklient(NSint,Nazwa varchar (40), krajvarchar (40));
Po utworzeniu tabeli będziemy teraz wprowadzać dane, ręcznie wstawiając wiersze w osobnych zapytaniach. W pierwszej kolejności podajemy nazwę kolumny, aby zachować dokładność danych w poszczególnych kolumnach dotyczących atrybutów. A następnie zostaną wprowadzone wartości. Wartości są zakodowane pojedynczymi przecinkami, ponieważ należy je wstawiać bez żadnych zmian.
>> wstawić doklient(NS,Nazwa, kraj) wartości („1”,„Alia”, „Pakistan”);
Po każdym udanym wstawieniu wynik będzie równy 0 1, co oznacza, że wstawiany jest 1 wiersz na raz. W zapytaniu, jak wspomniano wcześniej, wstawiliśmy dane 4 razy. Aby wyświetlić wyniki, użyjemy następującego zapytania:
>> Wybierz*zklient;
Przykład 2: Użycie instrukcji INSERT do dodawania wielu wierszy w jednym zapytaniu
To samo podejście jest stosowane przy wstawianiu danych, ale nie wprowadza się wielokrotnie instrukcji wstawiania. Wprowadzimy dane od razu za pomocą określonego zapytania; wszystkie wartości jednego wiersza są oddzielone przez Używając poniższego zapytania, uzyskamy wymagany wynik
Przykład 3: WSTAW wiele wierszy w jednej tabeli na podstawie liczb w innej tabeli
Ten przykład dotyczy wstawiania danych z jednej tabeli do drugiej. Rozważ dwie tabele, a i b. Tabela a ma 2 atrybuty, tj. nazwę i klasę. Stosując zapytanie CREATE wprowadzimy tabelę. Po utworzeniu tabeli dane zostaną wprowadzone za pomocą zapytania wstawiającego.
>> Wstawić dodowartości („Amna”,1),(„bhiszma”2'),(„oszczepiony”,3'),('W dół',4');
Do tabeli wstawia się cztery wartości, wykorzystując teorię przekroczenia. Możemy to sprawdzić za pomocą instrukcji select.
Podobnie stworzymy tabelę b, zawierającą atrybuty wszystkich imion i przedmiotów. Te same 2 zapytania zostaną zastosowane do wstawienia i pobrania rekordu z odpowiedniej tabeli.
>> Stwórz Tabelab(allnames varchar(30), temat varchar(70));
Pobierz rekord, wybierając teorię.
>> Wybierz*zb;
Aby wstawić wartości z tabeli b w tabeli użyjemy następującego zapytania. To zapytanie będzie działać w taki sposób, że wszystkie nazwy w tabeli b zostanie wstawiony do tabeli do z liczeniem liczb, które pokazują liczbę wystąpień określonej liczby w odpowiedniej kolumnie tabeli b . b.allnames reprezentuje funkcję obiektu określającą tabelę. Funkcja Count (b.allnames) służy do zliczania wszystkich wystąpień. Ponieważ każda nazwa występuje jednocześnie, wynikowa kolumna będzie miała 1 numer.
>> Wstawić dodo(Nazwa,klasa) Wybierzb.wszystkie imiona, liczyć(b.wszystkie imiona) zbGrupa za pomocąb.wszystkie imiona;
Przykład 4: WSTAW dane w wierszach, jeśli nie istnieją
To zapytanie służy do wprowadzania wierszy, jeśli nie istnieje. Najpierw dostarczone zapytanie sprawdza, czy wiersz już istnieje, czy nie. Jeśli już istnieje, dane nie są dodawane. A jeśli danych nie ma w rzędzie, nowe wstawienie zostanie wstrzymane. Tutaj tmp jest tymczasową zmienną służącą do przechowywania danych przez pewien czas.
Przykład 5: Upsert PostgreSQL przy użyciu instrukcji INSERT
Ta funkcja ma dwie odmiany:
- Aktualizacja: jeśli wystąpi konflikt, jeśli rekord pasuje do istniejących danych w tabeli, jest aktualizowany o nowe dane.
- Jeśli wystąpi konflikt, nie rób nic : Jeśli rekord pasuje do istniejących danych w tabeli, pomija rekord lub jeśli zostanie znaleziony błąd, jest również ignorowany.
Początkowo utworzymy tabelę z przykładowymi danymi.
>> STWÓRZ TABELAtbl2(NSWEWN PODSTAWOWY KLUCZ,Nazwa RÓŻNE ZNAKI);Po utworzeniu tabeli wstawimy dane do tbl2 za pomocą zapytania:
>> WSTAWIĆ DOtbl2WARTOŚCI (1,uzma),(2,„abdul”),(3,„Hamna”),(4,fatima),(5,„sziza”),(6,„javeria”);
Jeśli wystąpi konflikt, Aktualizuj:
>>WSTAWIĆ DOtbl2WARTOŚCI (8,'Jeździć') NAKONFLIKT(NS) ROBIĆ AKTUALIZACJA USTAWIĆ Nazwa=Wyłączony.Nazwa;
Na początku wprowadzimy dane za pomocą zapytania konfliktowego o identyfikatorze 8 i nazwie Rida. To samo zapytanie zostanie użyte po tym samym identyfikatorze; nazwa zostanie zmieniona. Teraz zauważysz, jak zmienią się imiona dla tego samego identyfikatora w tabeli.
>> WSTAWIĆ DOtbl2WARTOŚCI (8,'Praca') NAKONFLIKT(NS) ROBIĆ AKTUALIZACJA USTAWIĆ Nazwa =Wyłączony.Nazwa;
Odkryliśmy, że wystąpił konflikt na id 8, więc określony wiersz jest aktualizowany.
Jeśli wystąpi konflikt, nie rób nic
>> WSTAWIĆ DOtbl2WARTOŚCI (9,„Hira”) NAKONFLIKT(NS) ROBIĆ NIC;Za pomocą tego zapytania wstawiany jest nowy wiersz. Następnie użyjemy tego samego zapytania, aby zobaczyć konflikt, który wystąpił.
>>WSTAWIĆ DOtbl2WARTOŚCI (9,„Hira”) NAKONFLIKT(NS) ROBIĆ NIC;
Zgodnie z powyższym obrazkiem zobaczysz, że po wykonaniu zapytania INSERT 0 0 pokazuje, że żadne dane nie zostały wprowadzone.
Wniosek
Rzuciliśmy okiem na rozumienie koncepcji wstawiania wierszy w tabelach, w których dane nie są obecne lub wstawianie nie jest zakończone, jeśli jakikolwiek rekord zostanie znaleziony, w celu zmniejszenia nadmiarowości w relacjach bazy danych.