Įterpkite eilutę, jei „Postgresl“ dar nėra vertybių

Insert Row If Values Don T Already Exist Postgresl



Žinodami ir valdydami duomenų bazių valdymo sistemas, susipažinome su duomenų bazių pakeitimais. Tai paprastai apima tam tikrose lentelėse taikomų funkcijų kūrimą, įterpimą, atnaujinimą ir ištrynimą. Šiame straipsnyje pamatysime, kaip duomenys tvarkomi įterpimo metodu. Turime sukurti lentelę, į kurią norime įterpti. Įterpimo sakinys naudojamas naujiems duomenims pridėti prie lentelių eilučių. „PostgreSQL Insert“ teiginys apima kai kurias sėkmingo užklausos vykdymo taisykles. Pirmiausia turime paminėti lentelės pavadinimą, po kurio eina stulpelių pavadinimai (atributai). Antra, mes turime įvesti reikšmes, atskirtas kableliu po sąlyga VALUE. Galiausiai, kiekviena vertė turi būti tokia pat tvarka, kaip pateikiama atributų sąrašų seka kuriant tam tikrą lentelę.

Sintaksė

>> ĮDĖTI ĮTABLENAME(1 stulpelis,stulpelis) VERTYBĖS („Vertė1“, „vertė2“);

Čia stulpelis yra lentelės atributai. Raktinis žodis VALUE naudojamas vertėms įvesti. „Vertė“ yra įvedamų lentelių duomenys.







Eilutės funkcijų įterpimas į „PostgreSQL“ apvalkalą (psql)

Sėkmingai įdiegę „postgresql“, įvesime duomenų bazės pavadinimą, prievado numerį ir slaptažodį. Bus inicijuotas Psql. Tada atitinkamai atliksime užklausas.





1 pavyzdys: INSERT naudojimas naujiems įrašams pridėti prie lentelių
Pagal sintaksę sukursime šią užklausą. Norėdami įterpti eilutę į lentelę, sukursime lentelę, pavadintą klientas. Atitinkamoje lentelėje yra 3 stulpeliai. Norint įvesti duomenis į tą stulpelį ir išvengti pertekliaus, reikėtų paminėti konkrečių stulpelių duomenų tipą. Lentelės sukūrimo užklausa yra tokia:





>> sukurti lentelęklientas(idtarpt,vardas varchar (40), Šalisvarchar (40));

Sukūrę lentelę, dabar įvesime duomenis rankiniu būdu įterpdami eilutes į atskiras užklausas. Pirmiausia paminime stulpelio pavadinimą, kad išlaikytume duomenų tikslumą tam tikruose atributų stulpeliuose. Ir tada bus įvestos vertės. Vertės koduojamos pavieniais komais, nes jos turi būti įterpiamos nekeičiant.



>> Įdėti įklientas(id,vardas, Šalis) vertybes („1“,„Alia“, „Pakistanas“);

Po kiekvieno sėkmingo įterpimo išvestis bus 0 1, o tai reiškia, kad vienu metu įterpiama 1 eilutė. Į užklausą, kaip minėta anksčiau, duomenis įterpėme 4 kartus. Norėdami peržiūrėti rezultatus, naudosime šią užklausą:

>> pasirinkti*nuoklientas;

2 pavyzdys: INSERT sakinio naudojimas pridedant kelias eilutes vienoje užklausoje
Tas pats metodas naudojamas įterpiant duomenis, bet neįvedant įterpimo teiginių daug kartų. Įvesime duomenis iš karto naudodami tam tikrą užklausą; visos vienos eilutės vertės yra atskirtos naudojant šią užklausą, mes pasieksime reikiamą rezultatą

3 pavyzdys: Įterpkite kelias eilutes vienoje lentelėje, remdamiesi kitos lentelės skaičiais
Šis pavyzdys susijęs su duomenų įterpimu iš vienos lentelės į kitą. Apsvarstykite dvi lenteles: a ir b. A lentelėje yra 2 atributai, ty vardas ir klasė. Taikydami CREATE užklausą, pristatysime lentelę. Sukūrus lentelę, duomenys bus įvedami naudojant įterpimo užklausą.

>> sukurti lentelęį(vardas varchar (30),klasė varchar (40));
>> Įdėti įįvertybes („Amna“,1),('bhishma', '2'),(„Nuteistas“,3'),(„Žemyn“,4');

Į viršų teoriją į lentelę įterpiamos keturios vertės. Mes galime patikrinti naudodami pasirinktus teiginius.

Panašiai sukursime lentelę b, turėdami visų pavadinimų ir dalykų atributus. Tos pačios 2 užklausos bus taikomos įrašui įterpti ir paimti iš atitinkamos lentelės.

>> sukurti lentelęb(visi vardai varchar(30), tema varchar(70));

Gaukite įrašą pasirinkdami teoriją.

>> pasirinkti*nuob;

Norėdami įterpti lentelės reikšmes b lentelėje naudosime šią užklausą. Ši užklausa veiks taip, kad visi lentelės pavadinimai b bus įterpta į lentelę į skaičiuojant skaičius, rodančius tam tikro skaičiaus įvykių skaičių atitinkamoje lentelės skiltyje b . b. visi vardai žymi objekto funkciją, kad būtų galima nurodyti lentelę. Funkcija „Count“ (b. Visi vardai) veikia skaičiuojant bendrą įvykį. Kadangi kiekvienas vardas pateikiamas vienu metu, gautame stulpelyje bus 1 numeris.

>> Įdėti įį(vardas,klasė) pasirinktib. vardai, suskaičiuokite(b. vardai) nuobgrupė pagalb. vardai;

4 pavyzdys: Įterpti duomenis į eilutes, jei jų nėra
Ši užklausa naudojama eilutėms įvesti, jei jos nėra. Pirmiausia pateikta užklausa patikrina, ar eilutė jau yra, ar ne. Jei jis jau yra, tada duomenys nepridedami. Ir jei duomenų iš eilės nėra, naujas įterpimas bus sulaikytas. Čia tmp yra laikinas kintamasis, naudojamas tam tikrą laiką saugoti duomenis.

>> Įdėti įb(visi vardai, tema) pasirinkti*nuo (pasirinkti„Kinza“kaipvisi vardai, islamaskaiptema) kaiptmpkur ne egzistuoja ( pasirinktivisi vardainuobkurvisi vardai=„Sundus“riba 1);

5 pavyzdys: „PostgreSQL Upsert“ naudojant INSERT pareiškimą
Ši funkcija yra dviejų tipų:

  • Atnaujinimas: jei įvyksta konfliktas, jei įrašas atitinka esamus lentelės duomenis, jis atnaujinamas naujais duomenimis.
  • Jei kyla konfliktas, nieko nedarykite : Jei įrašas sutampa su esamais lentelės duomenimis, jis praleidžia įrašą arba, jei nustatoma klaida, jis taip pat ignoruojamas.

Iš pradžių sudarysime lentelę su kai kuriais duomenų pavyzdžiais.

>> KURTI LENTELĖtbl2(IDINT PAGRINDINIS RAKTAS,vardas KITŲ CHARAKTERIŲ);

Sukūrę lentelę, mes įterpsime duomenis į tbl2 naudodami užklausą:

>> ĮDĖTI Įtbl2VERTYBĖS (1,'uzma'),(2,'Abdul'),(3,'Hamna'),(4,'fatima'),(5,'shiza'),(6,„javerija“);

Jei kyla konfliktas, atnaujinkite:

>>ĮDĖTI Įtbl2VERTYBĖS (8,„Važiuoti“) ĮJUNGTAKONFLIKTAS(ID) DARYTI ATNAUJINTI SET vardas=Neįtraukta.vardas;

Iš pradžių duomenis įvesime naudodami konflikto užklausą ID 8 ir pavadinimą Rida. Ta pati užklausa bus naudojama po to paties ID; vardas bus pakeistas. Dabar pastebėsite, kaip vardai bus pakeisti tuo pačiu lentelės ID.

>> ĮDĖTI Įtbl2VERTYBĖS (8,'Darbas') ĮJUNGTAKONFLIKTAS(ID) DARYTI ATNAUJINTI SET vardas =Neįtraukta.vardas;

Mes nustatėme, kad 8 ID įvyko konfliktas, todėl nurodyta eilutė atnaujinama.

Jei kyla konfliktas, nieko nedarykite

>> ĮDĖTI Įtbl2VERTYBĖS (9,„Hira“) ĮJUNGTAKONFLIKTAS(ID) DARYTI NIEKO;

Naudojant šią užklausą, įterpiama nauja eilutė. Po to mes naudosime tą pačią užklausą, kad pamatytume kilusį konfliktą.

>>ĮDĖTI Įtbl2VERTYBĖS (9,„Hira“) ĮJUNGTAKONFLIKTAS(ID) DARYTI NIEKO;

Pagal aukščiau pateiktą vaizdą pamatysite, kad įvykdžius užklausą INSERT 0 0 nerodomi jokie duomenys.

Išvada

Mes pažvelgėme į supratimo apie eilučių įterpimą į lenteles, kuriose duomenų nėra, arba įterpimas nėra baigtas, jei randamas įrašas, žvilgsnį, kad būtų sumažintas duomenų bazių santykių perteklius.