PostgreSQL

Kui Postgreslis pole väärtusi veel, sisestage rida

Kui Postgreslis pole väärtusi veel, sisestage rida

Andmebaaside haldussüsteemide tundmine ja nendega manipuleerimine on meid andmebaaside muudatustega kurssi viinud. See hõlmab tavaliselt konkreetsetele tabelitele rakendatud funktsioonide loomist, sisestamist, värskendamist ja kustutamist. Selles artiklis näeme, kuidas andmeid sisestamismeetodi abil hallatakse. Peame looma tabeli, kuhu soovime sisestada. Sisestusväljavõtet kasutatakse uute andmete lisamiseks tabeliridadesse. PostgreSQL-i sisestamise lause hõlmab mõningaid reegleid päringu edukaks täitmiseks. Esiteks peame mainima tabeli nime, millele järgnevad veergude nimed (atribuudid), kuhu soovime read lisada. Teiseks peame sisestama väärtused, eraldatuna komaga VALUE järel. Lõpuks peavad kõik väärtused olema samas järjekorras, kui konkreetse tabeli loomisel esitatakse atribuutide loendite järjestus.

Süntaks

>> INSERT INTO TABLENAME (veerg1, veerg) VALUES ('väärtus1', 'väärtus2');

Siin on veerg tabeli atribuudid. Märksõna VALUE kasutatakse väärtuste sisestamiseks. 'Väärtus' on sisestatavate tabelite andmed.

Reafunktsioonide lisamine PostgreSQL-i kestale (psql)

Pärast postgresql edukat installimist sisestame andmebaasi nime, pordi numbri ja parooli. Algatatakse psql. Seejärel täidame vastavalt päringuid.

Näide 1: Uute kirjete lisamiseks tabelitesse INSERTi kasutamine
Süntaksi järgides loome järgmise päringu. Rea lisamiseks tabelisse loome tabeli nimega “klient”. Vastav tabel sisaldab 3 veergu. Andmete sisestamiseks sellesse veergu ja üleliigsuse vältimiseks tuleks nimetada konkreetsete veergude andmetüübid. Tabeli loomise päring on:

>> loo tabeli klient (id int, nimi varchar (40), country varchar (40));

Pärast tabeli loomist sisestame nüüd andmed, sisestades ridu käsitsi eraldi päringutesse. Esiteks mainime veeru nime, et säilitada andmete täpsus atribuutide osas. Ja siis sisestatakse väärtused. Väärtused on kodeeritud üksikute koomadega, kuna need tuleb sisestada ilma muudatusteta.

>> sisestage kliendi (ID, nimi, riik) väärtused ('1', 'Alia', 'Pakistan');

Pärast igat edukat sisestamist on väljundiks “0 1”, mis tähendab, et korraga sisestatakse 1 rida. Varem mainitud päringusse sisestasime andmeid 4 korda. Tulemuste vaatamiseks kasutame järgmist päringut:

>> vali * kliendilt;

Näide 2: INSERT-lause kasutamine mitme rea lisamiseks ühte päringusse
Sama lähenemisviisi kasutatakse andmete sisestamisel, kuid sisestuslausete sisestamisel ei ole seda mitu korda. Sisestame andmed korraga, kasutades teatud päringut; kõik ühe rea väärtused eraldatakse järgmisega: Järgmise päringu abil saavutame vajaliku väljundi

Näide 3: LISAKSE ühes tabelis mitu rida teise tabeli numbrite põhjal
See näide on seotud andmete sisestamisega ühest tabelist teise. Vaatleme kahte tabelit, a ja b. Tabelil "a" on 2 atribuuti, st.e., nimi ja klass. Rakendades CREATE päringu, tutvustame tabelit. Pärast tabeli loomist sisestatakse andmed sisestuspäringu abil.

>> loo tabel a (nimi varchar (30), klassi varchar (40));
>> Lisage väärtustesse ('amna', 1), ('bisma', '2'), ('javed', '3'), ('maha', '4');

Neli väärtust lisatakse tabelisse ületamise teooriat kasutades.  Saame kontrollida valitud lausete abil.

Samamoodi loome tabeli "b", millel on kõigi nimede ja teemade atribuudid. Kirje lisamiseks ja vastava tabeli toomiseks rakendatakse samu kahte päringut.

>> loo tabel b (kõik nimed varchar (30), subjekt varchar (70));

Kirje tooge valitud teooria järgi.

>> vali * b-st;

Tabeli väärtuste sisestamiseks b tabelis kasutame järgmist päringut. See päring töötab nii, et kõik tabeli nimed b lisatakse tabelisse a arvude loendamisega, mis näitavad konkreetse arvu esinemiste arvu vastavas tabeli veerus b. "B.kõik nimed ”tähistab objekti funktsiooni tabeli täpsustamiseks. Krahv (b.funktsioon allnames) töötab kogu esinemise loendamiseks. Kuna kõik nimed toimuvad korraga, on tulemuseks veerus 1 number.

>> Sisestage (nimi, klass) valige b.kõik nimed, loota (b.kõik nimed) b-rühmalt b poolt.kõik nimed;

Näide 4: INSERT andmed ridadesse, kui neid pole
Seda päringut kasutatakse ridade sisestamiseks, kui seda pole. Esiteks kontrollib esitatud päring, kas rida on juba olemas või mitte. Kui see on juba olemas, siis andmeid ei lisata. Ja kui andmeid pole järjest, siis uus sisestus jääb alles. Siin on tmp ajutine muutuja, mida kasutatakse andmete salvestamiseks mõnda aega.

>> sisestage b-sse (kõik nimed, teema) valige * hulgast (valige kõigi nimedeks 'Kinza', teemaks 'islamiat') tmp-ks, kui neid pole (valige kõik nimed b-st, kus allnimed = 'sundus' limiit 1);

Näide 5: PostgreSQL Upsert INSERT-lause abil
Sellel funktsioonil on kaks sorti:

Esialgu moodustame mõne näidisandmega tabeli.

>> LOE TABEL tbl2 (ID INT PÕHIVÕTI, NIME OMADUSTE MUUTMINE);

Pärast tabeli loomist sisestame päringu abil andmed tbl2-sse:

>> SISESTAGE tbl2 VÄÄRTUSED (1, 'uzma'), (2, 'abdul'), (3, 'Hamna'), (4, 'fatima'), (5, 'shiza'), (6, ' javeria ');

Konflikti ilmnemisel värskendage:

>> INSERT INTO tbl2 VÄÄRTUSED (8, 'Rida') ON KONFLIKT (ID) DO UP UPATE SET SET Name = Välja arvatud.Nimi;

Esmalt sisestame andmed, kasutades ID 8 konflikti päringut ja nime Rida. Sama ID-d järgides kasutatakse sama päringut; nime muudetakse. Nüüd märkate, kuidas tabelis samal ID-l nimesid muudetakse.

>> INSERT INTO tbl2 VÄÄRTUSED (8, 'Mahi') KONFLIKTI (ID) KOHTA VÄRSKENDAGE NIMI = Välja arvatud.Nimi;

Leidsime, et ID-l 8 oli konflikt, seetõttu värskendatakse määratud rida.

Kui tekib konflikt, siis ärge tehke midagi

>> SISSE KONFLIKTIDE (ID) KOHTA tbl2 VÄÄRTUSED (9, 'Hira') EI TEHA MIDAGI;

Selle päringu abil lisatakse uus rida. Pärast seda kasutame ilmnenud konflikti nägemiseks sama päringut.

>> SISSE KONFLIKTIDE (ID) KOHTA tbl2 VÄÄRTUSED (9, 'Hira') EI TEHA MIDAGI;

Vastavalt ülaltoodud pildile näete, et pärast päringu "INSERT 0 0" täitmist pole andmeid sisestatud.

Järeldus

Oleme heitnud pilgu mõistmisele, kuidas ridadesse sisestada tabelid, kus andmeid pole või kui sisestamist ei lõpetata, kui mõni kirje leitakse, et vähendada andmebaasi seoste koondamist.

Kuidas installida ja mängida Doomi Linuxis
Doomi sissejuhatus Doom-seeria sai alguse 90ndatel pärast algse Doomi väljaandmist. See oli kohene hitt ja sellest ajast alates on mänguseeria pälvinu...
Vulkan Linuxi kasutajatele
Iga uue põlvkonna graafikakaartidega näeme, et mängude arendajad ületavad graafilise truuduse piire ja jõuavad fotorealismile ühe sammu lähemale. Kuid...
OpenTTD vs Simutrans
Oma transpordisimulatsiooni loomine võib olla lõbus, lõõgastav ja äärmiselt köitev. Sellepärast peate endale meelepärase leidmiseks kindlasti proovima...