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

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

Znajomość i manipulowanie systemami zarządzania bazami danych zapoznało nas z zmianami na temat baz danych. Który zazwyczaj obejmuje tworzenie, wstawianie, aktualizację i usuwanie funkcji stosowanych na określonych tabelach. W bieżącym artykule zobaczymy, w jaki sposób dane są zarządzane metodą wstawiania. Musimy utworzyć tabelę, w której chcemy wprowadzić. Instrukcja Insert jest używana do dodania nowych danych w rzędach tabel. Instrukcja PostgreSQL Inserts obejmuje pewne zasady pomyślnego wykonywania zapytania. Najpierw musimy wspomnieć o nazwie tabeli, a następnie nazwy kolumn (atrybuty), w których chcemy wstawić wiersze. Po drugie, musimy wprowadzić wartości, oddzielone przecinkiem po klauzuli wartości. Wreszcie, każda wartość musi znajdować się w tej samej kolejności, co sekwencja list atrybutów, tworząc konkretną tabelę.

Składnia

>> Wstaw do TableName (kolumn1, kolumna) wartości („wartość1”, „wartość2”);

Tutaj kolumna to atrybuty tabeli. Wartość słowa kluczowego jest używana do wprowadzania wartości. „Wartość” to dane z tabel, które należy wprowadzić.

Wstawienie funkcji wiersza w powładzie PostgreSQL (PSQL)

Po udanej instalacji PostgreSQL wprowadzimy nazwę bazy danych, numer portu i hasło. PSQL zostanie zainicjowany. Następnie wykonamy zapytania odpowiednio.

Przykład 1: Używanie wstawki do dodania nowych rekordów do tabel
Po składni utworzymy następujące zapytanie. Aby wstawić wiersz w tabeli, utworzymy tabelę o nazwie „Klient”. Odpowiednia tabela zawiera 3 kolumny. Należy wspomnieć o danych dotyczących danych, aby wprowadzić dane w tej kolumnie i uniknąć redundancji. Zapytanie do utworzenia tabeli to:

>> Utwórz tabelę klienta (ID int, Name Varchar (40), Country Varchar (40));

Po utworzeniu tabeli wprowadzamy teraz dane, ręcznie wstawiąc wiersze w osobnych zapytaniach. Po pierwsze, wspominamy o nazwie kolumny, aby zachować dokładność danych w określonych kolumnach dotyczących atrybutów. A następnie zostaną wprowadzone wartości. Wartości są kodowane przez pojedyncze śpiączki, ponieważ mają być wstawane bez żadnych zmian.

>> Wstaw do klienta (ID, Nazwa, kraj) wartości („1”, „alia”, „Pakistan”);

Po każdym udanym wstawieniu wyjście będzie „0 1”, co oznacza, że ​​1 wiersz jest wstawiany na raz. W zapytaniu, jak wspomniano wcześniej, włożyliśmy dane 4 razy. Aby wyświetlić wyniki, użyjemy następującego zapytania:

>> Wybierz * od klienta;

Przykład 2: Za pomocą instrukcji Insert w dodawaniu wielu wierszy w jednym zapytaniu
To samo podejście jest stosowane w wstawianiu danych, ale nie wprowadzając instrukcji wstawienia wielokrotnie. Wprowadzimy dane jednocześnie za pomocą określonego zapytania; Wszystkie wartości jednego wiersza są oddzielone przez ”za pomocą następującego zapytania, osiągniemy wymagane dane wyjściowe

Przykład 3: Wstaw wiele wierszy w jednej tabeli na podstawie liczb w innej tabeli
Ten przykład dotyczy wstawienia danych z jednej tabeli do drugiej. Rozważ dwie tabele, „A” i „B”. Tabela „A” ma 2 atrybuty, i.mi., Nazwa i klasa. Stosując zapytanie Utwórz, wprowadzimy tabelę. Po utworzeniu tabeli dane zostaną wprowadzone za pomocą zapytania Wstaw.

>> Utwórz tabelę A (Nazwa varchar (30), klasa varchar (40));
>> Wstaw do wartości („amna”, 1), („bisma”, „2”), („Javed”, „3”), („maha”, „4”);

Cztery wartości są wstawiane do tabeli za pomocą teorii przekraczającej. Możemy sprawdzić za pomocą instrukcji wybranych.

Podobnie utworzymy tabelę „B”, mając atrybuty wszystkich nazwisk i tematów. Te same 2 zapytania zostaną zastosowane do wstawienia i pobrania rekordu z odpowiedniej tabeli.

>> Utwórz tabelę B (allnames varchar (30), podmiot varchar (70));

Pobierz rekord według teorii Wybierz.

>> Wybierz * z B;

Aby wstawić wartości 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 w tabeli A z zliczaniem liczb, które pokazują liczbę wystąpień konkretnej liczby w odpowiedniej kolumnie tabeli B. "B.allnames ”reprezentuje funkcję obiektu, aby określić tabelę. Liczyć (b.allnames) Funkcja działa w celu zliczenia całkowitego występowania. Ponieważ każda nazwa występuje od razu, wynikowa kolumna będzie miała 1 liczbę.

>> Wstaw do (Nazwa, klasa) Wybierz B.allnames, liczenie (b.allnames) z grupy B przez B.Allnames;

Przykład 4: Wstaw dane w rzędach, jeśli nie istnieje
To zapytanie służy do wprowadzania wierszy, jeśli nie jest obecne. Po pierwsze, podane zapytanie sprawdza, czy wiersz jest już obecny, czy nie. Jeśli już istnieje, dane nie są dodawane. A jeśli dane nie są obecne w rzędu, zostanie przeprowadzone nowe wstawienie. Tutaj TMP jest tymczasową zmienną używaną do przechowywania danych przez pewien czas.

>> Wstaw do B (allnames, podmiot) Wybierz * z (wybierz „kinza” jako allnames, „islamiat” jako podmiot) jako tmp tam, gdzie nie istnieje (wybierz allnames z b, gdzie allnames = „Sundus” limit 1);

Przykład 5: PostgreSQL Upsert za pomocą instrukcji Insert
Ta funkcja ma dwie odmiany:

  • Aktualizacja: Jeśli wystąpi konflikt, Jeśli rekord pasuje do istniejących danych w tabeli, jest on aktualizowany o nowe dane.
  • Jeśli wystąpi konflikt, nic nie rób: Jeśli rekord pasuje do istniejących danych w tabeli, pomija rekord lub jeśli zostanie powstrzymany błąd, jest również ignorowany.

Początkowo utworzymy tabelę z niektórymi przykładowymi danymi.

>> Utwórz tabelę TBL2 (ID int podstawowy klucz, nazwa znak różni się);

Po utworzeniu tabeli wstawymy dane w 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, zaktualizuj:

>> Wstaw wartości TBL2 (8, „Rida”) na konflikt (id) Zestaw Nazwa = wykluczone.Nazwa;

Początkowo wprowadzimy dane za pomocą zapytania o konflikt ID 8 i nazwy Rida. To samo zapytanie zostanie użyte zgodnie z tym samym identyfikatorem; Nazwa zostanie zmieniona. Teraz zauważysz, w jaki sposób nazwy zostaną zmienione na tym samym identyfikatorze w tabeli.

>> Wstaw wartości TBL2 (8, „Mahi”) na konflikt (id) Zestaw aktualizacji Nazwa = wykluczone.Nazwa;

Odkryliśmy, że istniał konflikt w ID „8”, więc określony wiersz jest aktualizowany.

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

>> Wstaw wartości Tbl2 (9, „Hira”) w konflikcie (id) nic nie rób;

Korzystając z tego zapytania, wkładany jest nowy wiersz. Następnie użyjemy, jeśli to samo zapytanie, aby zobaczyć konflikt, który miał miejsce.

>> Wstaw wartości Tbl2 (9, „Hira”) w konflikcie (id) nic nie rób;

Zgodnie z powyższym obrazem zobaczysz, że po wykonaniu zapytania „Wstaw 0 0”.

Wniosek

Rzuciliśmy wgląd w zrozumienie koncepcji wstawienia wierszy w tabelach, w których dane nie są obecne, albo wstawienie nie jest zakończone, jeśli znaleziono jakikolwiek zapis, w celu zmniejszenia redundancji w relacjach z bazą danych.