PostgreSQL

PostgreSQL-automaattisen lisäyksen ensisijaisen avaimen asennus?

PostgreSQL-automaattisen lisäyksen ensisijaisen avaimen asennus?
Saattaa olla tilanteita, joissa rakennat ja ylläpidät taulukoita PostgreSQL: ssä, kun haluat tiettyjä arvoja sarakkeelle, joka luodaan pyynnöstä. Tämä pätee erityisesti "id" -sarakkeisiin, jotka toimivat taulukon ensisijaisena avaimena. Onneksi SERIAL-pseudotyyppi mahdollistaa automaattisen kokonaislukusarjan tekemisen käteväksi. Sarja on tietyntyyppinen tietokantaobjekti PostgreSQL: ssä, joka tuottaa sarjan indeksejä tai kokonaislukuja. PostgreSQL-sekvenssi tuottaa merkkijonon erillisistä kokonaisluvuista, joten se soveltuu käytettäväksi ensisijaisena avaimena uuden taulukon luomisessa. Esittelemme sinulle, mitkä automaattisen lisäyksen valikot ovat PostgreSQL: ssä, ja käytämme SERIAL-pseudotyyppiä tässä oppaassa.

Syntaksi:

Automaattisen lisäyksen ensisijaisen avaimen luomisen yleinen syntakse on seuraava:

>> LUO TAULUKKO table_name (id SERIAL);

Katsokaamme nyt CREATE TABLE -ilmoitusta tarkemmin:

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.

Top 10 Games to Play on Ubuntu
Windows platform has been one of the dominating platforms for gaming because of the huge percentage of games that are developing today to natively sup...
5 parasta arcade-peliä Linuxille
Nykyään tietokoneet ovat vakavia koneita, joita käytetään pelaamiseen. Jos et pääse uusiin korkeisiin pisteisiin, tiedät mitä tarkoitan. Tässä viestis...
Battle For Wesnoth 1.13.6 Development Released
Battle For Wesnoth 1.13.6 released last month, is the sixth development release in the 1.13.x series and it delivers a number of improvements, most no...