Umetnite redak ako vrijednosti već ne postoje u Postgreslu

Insert Row If Values Don T Already Exist Postgresl



Poznavanje i upravljanje sustavima za upravljanje bazama podataka upoznalo nas je s promjenama u bazama podataka. Što obično uključuje stvaranje, umetanje, ažuriranje i brisanje funkcija primijenjenih na određene tablice. U trenutnom članku ćemo vidjeti kako se podacima upravlja metodom umetanja. Moramo stvoriti tablicu u koju želimo umetanje. Naredba Insert koristi se za dodavanje novih podataka u redove tablica. Naredba za umetanje PostgreSQL -a pokriva neka pravila za uspješno izvršavanje upita. Prvo moramo spomenuti naziv tablice, a zatim nazive stupaca (atribute) u koje želimo umetnuti retke. Drugo, moramo unijeti vrijednosti odvojene zarezom iza klauzule VALUE. Konačno, svaka vrijednost mora biti istim redoslijedom kao što je navedeno u slijedu popisa atributa prilikom stvaranja određene tablice.

Sintaksa

>> UMETNUTI UTABLENAME(stupac 1,stupac) VRIJEDNOSTI ('Vrijednost1', 'vrijednost2');

Ovdje je stupac atributi tablice. Ključna riječ VALUE koristi se za unos vrijednosti. ‘Vrijednost’ su podaci tablica koje treba unijeti.







Umetanje funkcija retka u postgreSQL ljusku (psql)

Nakon uspješne instalacije postgresqla, unijet ćemo naziv baze podataka, broj porta i lozinku. Psql će biti pokrenut. Zatim ćemo izvršiti upite.





Primjer 1: Korištenje INSERT za dodavanje novih zapisa u tablice
Slijedeći sintaksu, izradit ćemo sljedeći upit. Da bismo umetnuli redak u tablicu, izradit ćemo tablicu s imenom customer. Odgovarajuća tablica sadrži 3 stupca. Treba unijeti vrstu podataka pojedinih stupaca za unos podataka u taj stupac i izbjegavanje redundancije. Upit za izradu tablice je:





>> stvoriti stolkupac(iskaznicaint,Ime varchar (40), državavarchar (40));

Nakon izrade tablice sada ćemo unositi podatke ručnim umetanjem redaka u zasebne upite. Prvo, spominjemo naziv stupca radi održavanja točnosti podataka u određenim stupcima u vezi s atributima. Zatim će se unijeti vrijednosti. Vrijednosti su kodirane pojedinačnim zarezima jer se ubacuju bez ikakvih izmjena.



>> umetnuti ukupac(iskaznica,Ime, država) vrijednosti ('1',‘Alia’, ‘Pakistan’);

Nakon svakog uspješnog umetanja, izlaz će biti 0 1, što znači da je umetnut 1 red odjednom. U upitu kao što je ranije spomenuto, umetnuli smo podatke 4 puta. Za pregled rezultata upotrijebit ćemo sljedeći upit:

>> Odaberi*izkupac;

Primjer 2: Korištenje izraza INSERT za dodavanje više redaka u jedan upit
Isti pristup koristi se pri umetanju podataka, ali ne i pri umetanju iskaza mnogo puta. Podatke ćemo unijeti odjednom pomoću određenog upita; sve vrijednosti jednog retka odvojene su pomoću. Pomoću sljedećeg upita postići ćemo potreban izlaz

Primjer 3: UMETNITE više redaka u jednoj tablici na temelju brojeva u drugoj tablici
Ovaj se primjer odnosi na umetanje podataka iz jedne tablice u drugu. Razmotrimo dvije tablice, a i b. Tablica a ima 2 atributa, tj. Naziv i klasu. Primjenom upita CREATE uvest ćemo tablicu. Nakon izrade tablice, podaci će se unijeti pomoću upita za umetanje.

>> stvoriti stoldo(Ime varchar (30),razred varchar (40));
>> Umetnuti udovrijednosti (‘Amna’,1),('bhishma', '2'),('Javed', '3'),('Dolje',4');

Četiri vrijednosti su umetnute u tablicu pomoću teorije prekoračenja. To možemo provjeriti pomoću odabranih izjava.

Slično, izradit ćemo tablicu b s atributima svih imena i predmeta. Ista 2 upita bit će primijenjena za umetanje i dohvaćanje zapisa iz odgovarajuće tablice.

>> stvoriti stolb(sva imena varchar(30), predmet varchar(70));

Dohvatite zapis odabranom teorijom.

>> Odaberi*izb;

Za umetanje vrijednosti tablice b u tablici ćemo koristiti sljedeći upit. Ovaj će upit funkcionirati na takav način da svi nazivi u tablici b bit će umetnuta u tablicu do s brojenjem brojeva koji pokazuju broj pojavljivanja određenog broja u odgovarajućem stupcu tablice b . b.allnames predstavlja funkciju objekta za navođenje tablice. Funkcija Count (b.allnames) radi za brojanje ukupnih događaja. Kako se svaki naziv pojavljuje odjednom, tako će i rezultirajući stupac imati 1 broj.

>> Umetnuti udo(Ime,razred) Odaberib. imena, broji(b.imena) izbskupina pob.imena;

Primjer 4: UMETNITE podatke u retke ako ne postoje
Ovaj upit se koristi za unos redaka ako nije prisutan. Prvo ponuđeni upit provjerava je li red već prisutan ili ne. Ako već postoji, podaci se ne dodaju. A ako podaci nisu prisutni u nizu, novo će se umetanje zadržati. Ovdje je tmp privremena varijabla koja se koristi za pohranu podataka neko vrijeme.

>> umetnuti ub(sva imena, predmet) Odaberi*iz (Odaberi'Kinza'kaosva imena, 'islamiat'kaopredmet) kaotmpgdje ne postoji ( Odaberisva imenaizbgdjesva imena='Sundus'ograničiti 1);

Primjer 5: PostgreSQL nadogradnja pomoću INSERT izraza
Ova funkcija ima dvije vrste:

  • Ažuriranje: ako dođe do sukoba, ako se zapis podudara s postojećim podacima u tablici, ažurira se novim podacima.
  • Ako dođe do sukoba, nemojte ništa učiniti : Ako se zapis podudara s postojećim podacima u tablici, preskače zapis ili ako se utvrdi pogreška, također se zanemaruje.

U početku ćemo formirati tablicu s nekim uzorcima podataka.

>> STVORITI STOLtbl2(iskaznicaINT PRIMARNO KLJUČ,Ime RAZLIKA LIKOVA);

Nakon izrade tablice umetnut ćemo podatke u tbl2 pomoću upita:

>> UMETNUTI Utbl2VRIJEDNOSTI (1,'uzma'),(2,'abdul'),(3,'Hamna'),(4,'fatima'),(5,'shiza'),(6,'javeria');

Ako dođe do sukoba, ažurirajte:

>>UMETNUTI Utbl2VRIJEDNOSTI (8,'Vožnja') NASUKOB(iskaznica) ČINI AŽURIRANJE SET Ime=Isključen.Ime;

Isprva ćemo unijeti podatke pomoću konfliktnog upita ID 8 i imena Rida. Isti upit će se koristiti nakon istog ID -a; ime će se promijeniti. Sada ćete primijetiti kako će se imena promijeniti na istom ID -u u tablici.

>> UMETNUTI Utbl2VRIJEDNOSTI (8,'Raditi') NASUKOB(iskaznica) ČINI AŽURIRANJE SET Ime =Isključen.Ime;

Utvrdili smo da je došlo do sukoba na ID -u 8, pa se navedeni redak ažurira.

Ako dođe do sukoba, nemojte ništa učiniti

>> UMETNUTI Utbl2VRIJEDNOSTI (9,'Hira') NASUKOB(iskaznica) ČINI NIŠTA;

Pomoću ovog upita umetnut će se novi redak. Nakon toga ćemo upotrijebiti ako isti upit da vidimo sukob koji se dogodio.

>>UMETNUTI Utbl2VRIJEDNOSTI (9,'Hira') NASUKOB(iskaznica) ČINI NIŠTA;

Prema gornjoj slici vidjet ćete da nakon izvršavanja upita INSERT 0 0 pokazuje da se ne unose nikakvi podaci.

Zaključak

Bacili smo pogled na koncept razumijevanja umetanja redaka u tablice gdje podaci ili nisu prisutni, ili umetanje nije dovršeno, ako se pronađe bilo koji zapis, kako bi se smanjila redundantnost u odnosima baze podataka.