Syntaksi:
Automaattisen lisäyksen ensisijaisen avaimen luomisen yleinen syntakse on seuraava:
>> LUO TAULUKKO table_name (id SERIAL);Katsokaamme nyt CREATE TABLE -ilmoitusta tarkemmin:
- PostgreSQL luo ensin sarjan kokonaisuuden. Se tuottaa sarjan seuraavan arvon ja asettaa sen kentän oletusarvoksi.
- PostgreSQL soveltaa implisiittistä rajoitusta EI NULL id-kenttään, koska sarja tuottaa numeerisia arvoja.
- Tunnuskenttä varataan sarjan haltijaksi. Jos id-kenttä tai itse taulukko jätetään pois, järjestys hylätään.
Saadaksesi automaattisen lisäyksen käsitteen, varmista, että PostgreSQL on asennettu ja määritetty järjestelmään, ennen kuin jatkat tämän oppaan kuvien kanssa. Avaa PostgreSQL-komentorivin kuori työpöydältä. Lisää palvelimesi nimi, jolla haluat työskennellä, muuten jätä se oletukseksi. Kirjoita palvelimellasi oleva tietokannan nimi, jolla haluat työskennellä. Jos et halua muuttaa sitä, jätä se oletukseksi. Käytämme "testi" -tietokantaa, siksi olemme lisänneet sen. Voit työskennellä myös oletusportilla 5432, mutta voit myös muuttaa sitä. Loppujen lopuksi sinun on annettava valitsemasi tietokannan käyttäjänimi. Jätä se oletukseksi, jos et halua muuttaa sitä. Kirjoita salasana valitulle käyttäjänimelle ja paina "Enter" näppäimistöltä aloittaaksesi komentokuoren käytön.
SERIAL-avainsanan käyttäminen tietotyyppinä:
Kun luot taulukon, emme yleensä lisää avainsanaa SARJA ensisijaiseen sarakekenttään. Tämä tarkoittaa, että meidän on lisättävä arvot ensisijaisen avaimen sarakkeeseen INSERT-käskyä käytettäessä. Mutta kun käytämme kyselyssä avainsanaa SARJA taulukkoa luodessamme, meidän ei tarvitse lisätä ensisijaisia sarakearvoja samalla kun lisäät arvoja. Katsotaanpa vilkaisu siihen.
Esimerkki 01:
Luo taulukko "Test", jossa on kaksi saraketta "id" ja "name". Sarake “id” on määritelty ensisijaiseksi avainsarakkeeksi, koska sen tietotyyppi on SERIAL. Toisaalta sarake "nimi" määritellään tietotyypiksi TEKSTI EI NULL. Luo taulukko kokeilemalla alla olevaa komentoa, ja taulukko luodaan tehokkaasti, kuten alla olevassa kuvassa näkyy.
>> LUO TAULUKKOTesti (id SERIAL PRIMARY KEY, name TEXT NOT NULL);
Lisätään joitain arvoja uuden luodun taulukon "TEST" sarakkeeseen "nimi". Emme lisää arvoa sarakkeeseen id. Voit nähdä, että arvot on lisätty onnistuneesti INSERT-komennolla alla esitetyllä tavalla.
>> INSERT INTO Test (nimi) ARVOT ('Aqsa'), ('Rimsha'), ('Khan');
On aika tarkistaa Testin taulukon tietueet. Kokeile seuraavaa SELECT-komentoa komentokuoressa.
>> SELECT * FROM -testi;Alla olevasta lähdöstä voit huomata, että sarakkeessa "id" on automaattisesti joitain arvoja, vaikka emme ole lisänneet arvoja INSERT-komennosta sarakkeelle "id" määritetyn tietotyypin SERIAL vuoksi. Näin tietotyyppi SERIAL toimii yksin.
Esimerkki 02:
Toinen tapa tarkistaa SERIAL-tietotyyppisarakkeen arvo on INSERT-komennon RETURNING-avainsana. Alla oleva ilmoitus luo uuden rivin Testi-taulukkoon ja antaa id-kentän arvon:
>> INSERT INTO Test (nimi) ARVOT ('Hassam') PALUU-tunnus;
Tarkistamalla taulukon ”Test” tietueet SELECT-kyselyn avulla saimme alla olevan kuvan kuvan mukaisena. Viides ennätys on lisätty tehokkaasti taulukkoon.
>> SELECT * FROM -testi;
Esimerkki 03:
Yllä olevan lisäyskyselyn vaihtoehtoinen versio käyttää DEFAULT-avainsanaa. Käytämme sarakkeen id nimeä INSERT-komennossa, ja ARVOT-osiossa annamme sille arvon DEFAULT avainsanan. Alla oleva kysely toimii samalla suorituksen yhteydessä.
>> INSERT INTO Test (tunnus, nimi) ARVOT (OLETUS, 'Raza');
Tarkistetaan taulukko uudelleen käyttämällä SELECT-kyselyä seuraavasti:
>> SELECT * FROM testi;Alla olevasta lähdöstä näet, että uusi arvo on lisätty, kun taas saraketta "id" on oletusarvoisesti lisätty.
Esimerkki 04:
SERIAL-sarakekentän järjestysnumero löytyy taulukosta PostgreSQL: ssä. Menetelmää pg_get_serial_sequence () käytetään tämän toteuttamiseen. Meidän on käytettävä currval () -funktiota yhdessä pg_get_serial_sequence () -menetelmän kanssa. Tässä kyselyssä annamme taulukon nimen ja sen SARJAN Sarakkeen nimen funktion pg_get_serial_sequence () parametreihin. Kuten näette, olemme määrittäneet taulukon "Test" ja sarakkeen "id". Tätä menetelmää käytetään alla olevassa kyselyesimerkissä:
>> SELECT currval (pg_get_serial_sequence ('Test', 'id'));On syytä huomata, että currval () -funktiomme auttaa meitä poimimaan sekvenssin viimeisimmän arvon, joka on "5". Alla oleva kuva on esimerkki siitä, miltä esitys voisi näyttää.
Päätelmä:
Tässä oppaassa olemme osoittaneet, kuinka SERIAL-pseudotyyppiä käytetään automaattiseen lisäykseen PostgreSQL: ssä. Sarjan käyttäminen PostgreSQL: ssä on helppoa rakentaa automaattisesti kasvava numerosarja. Toivottavasti voit käyttää SERIAL-kenttää taulukon kuvauksiin käyttämällä viitteenä piirroksia.