Lisää rivi, jos arvoja ei ole jo olemassa Postgreslissa

Insert Row If Values Don T Already Exist Postgresl



Tietokantojen hallintajärjestelmien tunteminen ja käsitteleminen on tutustunut tietokantojen muutoksiin. Tämä tarkoittaa tyypillisesti tiettyjen taulukoiden toimintojen luomista, lisäämistä, päivittämistä ja poistamista. Tässä artikkelissa näemme, miten tietoja hallitaan lisäysmenetelmällä. Meidän on luotava taulukko, johon haluamme lisätä. Insert -lausetta käytetään uusien tietojen lisäämiseen tauluriville. PostgreSQL inserts -lauseke sisältää joitakin sääntöjä kyselyn onnistuneelle suorittamiselle. Ensinnäkin meidän on mainittava taulukon nimi ja sen jälkeen sarakkeiden nimet (attribuutit), joihin haluamme lisätä rivejä. Toiseksi meidän on annettava arvot, erotettuna pilkulla VALUE -lausekkeen jälkeen. Lopuksi jokaisen arvon on oltava samassa järjestyksessä kuin määritteen luettelo järjestetään tietyn taulukon luomisen yhteydessä.

Syntaksi

>> INSERT INTOTABLENAME(sarake 1,sarake) ARVOT ('Arvo1', 'arvo2');

Tässä sarake on taulukon määritteet. Avainsanaa VALUE käytetään arvojen syöttämiseen. 'Arvo' on syötettävien taulukoiden tiedot.







Rivitoimintojen lisääminen PostgreSQL -kuoreen (psql)

Kun postgresql on asennettu onnistuneesti, syötämme tietokannan nimen, portin numeron ja salasanan. Psql käynnistetään. Suoritamme kyselyt vastaavasti.





Esimerkki 1: INSERT -toiminnon käyttäminen uusien tietueiden lisäämiseen taulukoihin
Syntaksin mukaisesti luomme seuraavan kyselyn. Jos haluat lisätä rivin taulukkoon, luomme taulukon nimeltä asiakas. Vastaava taulukko sisältää 3 saraketta. Tiettyjen sarakkeiden tietotyyppi on mainittava tietojen syöttämiseksi kyseiseen sarakkeeseen ja redundanssin välttämiseksi. Kysely taulukon luomiseksi on:





>> luoda pöytäasiakas(idint,nimi varchar (40), maavarchar (40));

Taulukon luomisen jälkeen syötetään nyt tietoja lisäämällä rivejä manuaalisesti erillisiin kyselyihin. Ensinnäkin mainitsemme sarakkeen nimen ylläpitääksesi tietojen tarkkuutta tietyissä attribuutteja koskevissa sarakkeissa. Ja sitten syötetään arvot. Arvot koodataan yksittäisillä koomilla, koska ne on lisättävä ilman muutoksia.



>> lisää osaksiasiakas(tunnus,nimi, maa) arvot ('1','Alia', 'Pakistan');

Jokaisen onnistuneen lisäyksen jälkeen tulos on 0 1, mikä tarkoittaa, että 1 rivi lisätään kerrallaan. Kyselyyn, kuten aiemmin mainittiin, olemme lisänneet tietoja 4 kertaa. Jos haluat nähdä tulokset, käytämme seuraavaa kyselyä:

>> valitse*alkaenasiakas;

Esimerkki 2: INSERT -lauseen käyttäminen useiden rivien lisäämiseen yhteen kyselyyn
Samaa lähestymistapaa käytetään tietojen lisäämiseen, mutta ei lisäyslausekkeiden käyttöönottoon monta kertaa. Syötämme tiedot kerralla käyttämällä tiettyä kyselyä; kaikki yhden rivin arvot erotetaan toisistaan ​​käyttämällä seuraavaa kyselyä, saavutamme vaaditun tuloksen

Esimerkki 3: INSERT useita rivejä yhteen taulukkoon toisen taulukon numeroiden perusteella
Tämä esimerkki liittyy tietojen lisäämiseen taulukosta toiseen. Harkitse kahta taulukkoa, a ja b. Taulukossa a on kaksi määritettä, eli nimi ja luokka. Käyttämällä CREATE -kyselyä otamme käyttöön taulukon. Taulukon luomisen jälkeen tiedot syötetään lisäyskyselyn avulla.

>> luoda pöytäkohteeseen(nimi varchar (30),luokka varchar (40));
>> Lisää osaksikohteeseenarvot ('Amna',1),('bhishma', '2''),('Javed', '3''),('Alas',4'');

Neljä arvoa lisätään taulukkoon ylitysteorian avulla. Voimme tarkistaa käyttämällä valittuja lausuntoja.

Samoin luomme taulukon b, jossa on kaikkien nimien ja aiheiden määritteet. Samaa kahta kyselyä käytetään tietueen lisäämiseen ja noutamiseen vastaavasta taulukosta.

>> luoda pöytäb(kaikki nimet varchar(30), aihe varchar(70));

Hae tietue valitsemalla teoria.

>> valitse*alkaenb;

Taulukon arvojen lisääminen b taulukossa käytämme seuraavaa kyselyä. Tämä kysely toimii siten, että kaikki taulukon nimet b lisätään taulukkoon kohteeseen laskemalla numerot, jotka osoittavat tietyn luvun esiintymien määrän taulukon vastaavassa sarakkeessa b . b. kaikki nimet edustavat taulukon määrittämiseen tarkoitettua objektitoimintoa. Count (b. Kaikki nimet) -toiminto laskee esiintymien kokonaismäärän. Koska jokainen nimi esiintyy kerralla, tuloksena olevassa sarakkeessa on 1 numero.

>> Lisää osaksikohteeseen(nimi,luokka) valitseb. kaikki nimet, laske(b. kaikki nimet) alkaenbryhmä käyttäjältäb. kaikki nimet;

Esimerkki 4: INSERT -tiedot riveille, jos niitä ei ole
Tätä kyselyä käytetään rivien syöttämiseen, jos sitä ei ole. Ensin annettu kysely tarkistaa, onko rivi jo olemassa vai ei. Jos se on jo olemassa, tietoja ei lisätä. Ja jos tietoja ei ole rivillä, uusi lisäys pidetään. Tässä tmp on väliaikainen muuttuja, jota käytetään tietojen tallentamiseen jonkin aikaa.

>> lisää osaksib(kaikki nimet, aihe) valitse*alkaen (valitse'Kinza'kutenkaikki nimet, 'islamia'kutenaihe) kutentmpmissä ei olemassa ( valitsekaikki nimetalkaenbmissäkaikki nimet='Sundus'raja 1);

Esimerkki 5: PostgreSQL Upsert käyttämällä INSERT -lauseketta
Tällä toiminnolla on kaksi lajiketta:

  • Päivitys: jos ristiriita ilmenee, jos tietue vastaa taulukon nykyisiä tietoja, se päivitetään uusilla tiedoilla.
  • Jos syntyy konflikti, älä tee mitään : Jos tietue vastaa taulukossa olevia tietoja, se ohittaa tietueen tai jos virhe on perusteltu, se jätetään myös huomiotta.

Aluksi muodostamme taulukon, jossa on joitain näytetietoja.

>> LUODA PÖYTÄtbl2(IDINT ENSISIJAINEN AVAIN,Nimi MERKITTÄVÄ MUUTTUVA);

Taulukon luomisen jälkeen lisäämme tiedot tbl2: een käyttämällä kyselyä:

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

Jos ristiriita ilmenee, päivitä:

>>INSERT INTOtbl2ARVOT (8,'Ratsastaa') PÄÄLLÄKONFLIKTI(ID) TEHDÄ PÄIVITTÄÄ ASETA Nimi=Ulkopuolelle.Nimi;

Aluksi syötämme tietoja käyttämällä konfliktin kyselyä ID 8 ja nimeä Rida. Samaa kyselyä käytetään saman tunnuksen jälkeen; nimi muuttuu. Nyt huomaat, kuinka nimet muutetaan samalla tunnuksella taulukossa.

>> INSERT INTOtbl2ARVOT (8,'Työ') PÄÄLLÄKONFLIKTI(ID) TEHDÄ PÄIVITTÄÄ ASETA Nimi =Ulkopuolelle.Nimi;

Olemme havainneet, että tunnuksessa 8 oli ristiriita, joten määritetty rivi päivitetään.

Jos syntyy konflikti, älä tee mitään

>> INSERT INTOtbl2ARVOT (9,'Hira') PÄÄLLÄKONFLIKTI(ID) TEHDÄ EI MITÄÄN;

Tämän kyselyn avulla lisätään uusi rivi. Sen jälkeen käytämme samaa kyselyä nähdäksemme tapahtuneen ristiriidan.

>>INSERT INTOtbl2ARVOT (9,'Hira') PÄÄLLÄKONFLIKTI(ID) TEHDÄ EI MITÄÄN;

Yllä olevan kuvan mukaan näet, että kyselyn INSERT 0 0 näyttää suorittamisen jälkeen tietoja ei syötetä.

Johtopäätös

Olemme ottaneet välähdyksen ymmärryksestä, jonka mukaan rivit lisätään taulukoihin, joissa tietoja ei ole, tai lisäystä ei ole suoritettu loppuun, jos tietuetta löytyy, jotta tietokantayhteyksien redundanssi vähenee.