PostgreSQL

Introduceți rândul dacă valorile nu există deja în Postgresl

Introduceți rândul dacă valorile nu există deja în Postgresl

Cunoașterea și manipularea sistemelor de gestionare a bazelor de date ne-au făcut familiarizați cu modificările legate de bazele de date. Ceea ce implică de obicei crearea, inserarea, actualizarea și ștergerea funcțiilor aplicate pe anumite tabele. În articolul actual, vom vedea cum sunt gestionate datele prin metoda de inserare. Trebuie să creăm un tabel în care dorim inserarea. Instrucțiunea Insert este utilizată pentru adăugarea de date noi în rânduri de tabele. Instrucțiunea de inserare PostgreSQL acoperă câteva reguli pentru executarea cu succes a unei interogări. În primul rând trebuie să menționăm numele tabelului urmat de numele coloanelor (atribute) unde dorim să inserăm rânduri. În al doilea rând, trebuie să introducem valorile, separate printr-o virgulă după clauza VALUE. În cele din urmă, fiecare valoare trebuie să fie în aceeași ordine în care este furnizată secvența listelor de atribute în timpul creării unui anumit tabel.

Sintaxă

>> INSERAȚI ÎN TABLENAME (coloana1, coloană) VALORI („valoare1”, „valoare2”);

Aici, o coloană este atributele tabelului. Cuvântul cheie VALUE este utilizat pentru a introduce valori. „Valoare” reprezintă datele tabelelor care trebuie introduse.

Inserarea funcțiilor de rând în shell-ul PostgreSQL (psql)

După instalarea cu succes a postgresql, vom introduce numele bazei de date, numărul portului și parola. Psql va fi inițiat. Apoi vom efectua interogări, respectiv.

Exemplul 1: Utilizarea INSERT pentru a adăuga înregistrări noi în tabele
În urma sintaxei, vom crea următoarea interogare. Pentru a insera un rând în tabel, vom crea un tabel numit „client”. Tabelul respectiv conține 3 coloane. Tipul de date al anumitor coloane ar trebui menționat pentru a introduce date în coloana respectivă și pentru a evita redundanța. Interogarea pentru crearea unui tabel este:

>> creați tabelul clientului (id int, nume varchar (40), țară varchar (40));

După crearea tabelului, vom introduce acum date inserând rânduri manual în interogări separate. În primul rând, menționăm numele coloanei pentru a menține acuratețea datelor în anumite coloane cu privire la atribute. Și apoi, valorile vor fi introduse. Valorile sunt codificate de virgule simple, deoarece trebuie inserate fără nicio modificare.

>> introduceți valorile clientului (id, nume, țară) („1”, „Alia”, „Pakistan”);

După fiecare inserare reușită, ieșirea va fi „0 1”, ceea ce înseamnă că se introduce 1 rând pe rând. În interogarea menționată anterior, am inserat date de 4 ori. Pentru a vizualiza rezultatele, vom folosi următoarea interogare:

>> selectați * din client;

Exemplul 2: Utilizarea instrucțiunii INSERT pentru adăugarea mai multor rânduri într-o singură interogare
Aceeași abordare este utilizată la inserarea datelor, dar nu la introducerea instrucțiunilor insert de multe ori. Vom introduce date simultan utilizând o anumită interogare; toate valorile unui rând sunt separate prin ”Prin utilizarea următoarei interogări, vom obține rezultatul necesar

Exemplul 3: INSERAȚI mai multe rânduri într-un tabel pe baza numerelor dintr-un alt tabel
Acest exemplu se referă la inserarea datelor dintr-un tabel în altul. Luați în considerare două tabele, „a” și „b”. Tabelul „a” are 2 atribute, i.e., numele și clasa. Prin aplicarea unei interogări CREATE, vom introduce un tabel. După crearea tabelului, datele vor fi introduse utilizând o interogare de inserare.

>> creați tabelul a (nume varchar (30), clasa varchar (40));
>> Introduceți într-o valoare ('amna', 1), ('bisma', '2'), ('javed', '3'), ('maha', '4');

Patru valori sunt inserate în tabel folosind teoria depășirii.  Putem verifica folosind instrucțiuni selectate.

În mod similar, vom crea tabelul „b”, având atribute ale tuturor numelor și subiectelor. Aceleași 2 interogări vor fi aplicate pentru a insera și pentru a prelua înregistrarea din tabelul corespunzător.

>> creați tabelul b (allnames varchar (30), subiect varchar (70));

Aduceți înregistrarea prin teoria selectată.

>> selectați * din b;

Pentru a insera valorile tabelului b în tabel, vom folosi următoarea interogare. Această interogare va funcționa în așa fel încât toate numele din tabel b va fi inserat în tabel A cu numărarea numerelor care arată numărul aparițiilor unui anumit număr în coloana respectivă a tabelului b. „B.allnames ”reprezintă funcția obiect pentru a specifica tabelul. Număr (b.funcția allnames) funcționează pentru a număra apariția totală. Deoarece fiecare nume apare simultan, coloana rezultată va avea 1 număr.

>> Introduceți într-un (nume, clasă) selectați b.allnames, count (b.allnames) din grupul b după b.allnames;

Exemplul 4: INSERAți datele în rânduri dacă nu există
Această interogare este utilizată pentru a introduce rânduri dacă nu este prezentă. În primul rând, interogarea furnizată verifică dacă rândul este deja prezent sau nu. Dacă există deja, atunci datele nu sunt adăugate. Și dacă datele nu sunt prezente la rând, noua inserare va fi păstrată. Aici tmp este o variabilă temporară utilizată pentru a stoca date de ceva timp.

>> introduceți în b (allnames, subiect) selectați * din (selectați „Kinza” ca allnames, „islamiat” ca subiect) ca tmp unde nu există (selectați allnames din b unde allnames = limita 1 „sundus”);

Exemplul 5: PostgreSQL Upsert folosind instrucțiunea INSERT
Această funcție are două varietăți:

Inițial, vom forma un tabel cu câteva exemple de date.

>> CREAȚI TABELUL tbl2 (ID INT CHEIE PRIMARĂ, Nume CARACTER VARIE);

După crearea tabelului, vom insera date în tbl2 utilizând interogarea:

>> INSERT IN Tbl2 VALUE (1, 'uzma'), (2, 'abdul'), (3, 'Hamna'), (4, 'fatima'), (5, 'shiza'), (6, ' javeria ');

Dacă apare un conflict, actualizați:

>> INSERT IN Tbl2 VALUE (8, 'Rida') ON CONFLICT (ID) DO UPDATE SET Nume = Exclus.Nume;

La început, vom introduce date folosind interogarea de conflict a id-ului 8 și numele Rida. Aceeași interogare va fi utilizată urmând același id; numele va fi schimbat. Acum veți observa cum vor fi schimbate numele pe același id din tabel.

>> INSERAȚI ÎN VALORILE tbl2 (8, „Mahi”) PE CONFLICT (ID) ACTUALIZAȚI SET Nume = Excluse.Nume;

Am constatat că a existat un conflict la ID-ul „8”, astfel încât rândul specificat este actualizat.

Dacă apare un conflict, nu faceți nimic

>> INSERAȚI ÎN VALORI tbl2 (9, „Hira”) PE CONFLICT (ID) NU FĂ NIMIC;

Folosind această interogare, se introduce un rând nou. După aceea, vom folosi dacă aceeași interogare pentru a vedea conflictul care a avut loc.

>> INSERAȚI ÎN VALORI tbl2 (9, „Hira”) PE CONFLICT (ID) NU FĂ NIMIC;

Conform imaginii de mai sus, veți vedea că după executarea interogării „INSERT 0 0” arată că nu sunt introduse date.

Concluzie

Am aruncat o privire asupra conceptului de înțelegere a inserării rândurilor în tabele în care datele fie nu sunt prezente, fie inserarea nu este finalizată, dacă se găsește o înregistrare, pentru a reduce redundanța în relațiile cu baza de date.

Top 10 jocuri de jucat pe Ubuntu
Platforma Windows a fost una dintre platformele dominante pentru jocuri din cauza procentului imens de jocuri care se dezvoltă astăzi pentru a sprijin...
Cele mai bune 5 jocuri arcade pentru Linux
În zilele noastre, computerele sunt mașini serioase folosite pentru jocuri. Dacă nu puteți obține noul scor mare, veți ști la ce mă refer. În această ...
Battle For Wesnoth 1.13.6 Development Released
Battle For Wesnoth 1.13.6 released last month, is the sixth development release in the 1.13.x series and it delivers a number of improvements, most no...