PostgreSQL

Wstaw wiersz, jeśli wartości nie istnieją już w Postgresl

Wstaw wiersz, jeśli wartości nie istnieją już w Postgresl

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), w 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

>> INSERT INTO TABLENAME (kolumna1, kolumna) VALUES ('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 odpowiednio wykonamy 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, utworzymy 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:

>> utwórz tabelę klient (id int, nazwa varchar (40), kraj varchar (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.

>> wstaw do klienta (id, 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 * od klienta;

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 od siebie” 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, i.mi., imię i klasa. Stosując zapytanie CREATE wprowadzimy tabelę. Po utworzeniu tabeli dane zostaną wprowadzone za pomocą zapytania wstawiania.

>> utwórz tabelę a (nazwa varchar (30), klasa varchar (40));
>> Wstaw do wartości ('amna', 1), ('bisma','2'), ('javed','3'), ('maha','4');

Do tabeli wprowadzono cztery wartości, korzystając z teorii 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.

>> utwórz tabelę b(allnames varchar(30), temat varchar(70));

Pobierz rekord, wybierając teorię.

>> wybierz * z b;

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 za 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ę. Liczyć (b.allnames) funkcja działa w celu zliczenia wszystkich wystąpień. Ponieważ każde imię pojawia się na raz, wynikowa kolumna będzie miała 1 cyfrę.

>> Wstaw do (nazwa, klasa) wybierz b.wszystkie imiona, liczyć (b.allnames) z grupy b przez 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. Po pierwsze dostarczone zapytanie sprawdza, czy wiersz jest już obecny, 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.

>> wstaw do b (allnames, subject) wybierz * z (wybierz 'Kinza' jako allnames, 'islamiat' jako temat) jako tmp tam, gdzie nie istnieje ( wybierz allnames z b gdzie allnames = 'sundus' limit 1);

Przykład 5: Upsert PostgreSQL przy użyciu instrukcji INSERT
Ta funkcja ma dwie odmiany:

Na początek utworzymy tabelę z przykładowymi danymi.

>> CREATE TABLE tbl2 (ID INT PRIMARY KEY, Nazwa CHARACTER VARYING);

Po utworzeniu tabeli wstawimy dane do tbl2 za pomocą zapytania:

>> WSTAW WARTOŚCI tbl2 (1,'uzma'), (2,'abdul'), (3,'Hamna'), (4,'fatima'), (5,'shiza'), (6,' javeria”);

Jeśli wystąpi konflikt, Aktualizuj:

>>WSTAW W WARTOŚCI tbl2 (8,'Rida') W KONFLIKCIE (ID) Zaktualizuj ZESTAW Nazwa= Wykluczone.Nazwa;

Najpierw 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.

>> WSTAW W WARTOŚCI tbl2 (8,'Mahi') W KONFLICIE (ID) Zaktualizuj ZESTAW Nazwa = Wykluczone.Nazwa;

Odkryliśmy, że wystąpił konflikt na identyfikatorze „8”, więc określony wiersz jest aktualizowany.

Jeśli wystąpi konflikt, nie rób nic

>> WSTAWIĆ W tbl2 WARTOŚCI (9,'Hira') W KONFLIKCIE (ID) NIC;

Za pomocą tego zapytania wstawiany jest nowy wiersz. Następnie użyjemy tego samego zapytania, aby zobaczyć konflikt, który wystąpił.

>>WSTAW W WARTOŚCI tbl2 (9,'Hira') W KONFLIKCIE (ID) NIC;

Zgodnie z powyższym obrazkiem zobaczysz, że po wykonaniu zapytania „WSTAW 0 0” nie ma żadnych danych.

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.

Gry Zremasterowane gry HD dla Linuksa, które nigdy wcześniej nie zostały wydane na Linuksa
Zremasterowane gry HD dla Linuksa, które nigdy wcześniej nie zostały wydane na Linuksa
Wielu twórców gier i wydawców wymyśla remaster HD starych gier, aby przedłużyć żywotność serii, prosimy fanów o kompatybilność z nowoczesnym sprzętem ...
Gry Jak używać AutoKey do automatyzacji gier Linux
Jak używać AutoKey do automatyzacji gier Linux
AutoKey to narzędzie do automatyzacji pulpitu dla systemów Linux i X11, zaprogramowane w Python 3, GTK i Qt. Korzystając ze skryptów i funkcji MAKRO, ...
Gry How to Show FPS Counter in Linux Games
How to Show FPS Counter in Linux Games
Linux gaming got a major push when Valve announced Linux support for Steam client and their games in 2012. Since then, many AAA and indie games have m...