PostgreSQL

Kuidas seadistada PostgreSQLi automaatse juurdekasvu esmane võti?

Kuidas seadistada PostgreSQLi automaatse juurdekasvu esmane võti?
Võimalik, et kui loote ja hooldate tabeleid PostgreSQL-is, kui soovite konkreetseid väärtusi veerule, mis genereeritakse nõudmisel. See kehtib eriti veergude „id” kohta, mis toimivad tabeli peamise võtmena. Õnneks võimaldab pseudotüüp SERIAL muuta automaatse kasvu täisarvude seeria mugavaks. Seeria on PostgreSQL-i andmebaasiobjekti tüüp, mis loob seeria indekse või täisarvusid. PostgreSQL-i jada loob eraldiseisvate täisarvude stringi, mis muudab uue tabeli genereerimisel sobivaks peamise võtmena. Näitame teile, millised automaatse juurdekasvu menüüd PostgreSQL-is kasutatakse ja selles juhendis kasutame pseudotüüpi SERIAL.

Süntaks:

Automaatse juurdekasvu primaarvõtme loomise üldine süntaks on järgmine:

>> CREATE TABLE tabeli_nimi (id SERIAL);

Heidame nüüd pilgu CREATE TABLE deklaratsioonile üksikasjalikumalt:

Automaatse juurdekasvu kontseptsiooni saamiseks veenduge, et enne selle juhendi illustratsioonidega jätkamist veenduge, et PostgreSQL on teie süsteemis ühendatud ja konfigureeritud. Avage töölaualt käsurea kest PostgreSQL. Lisage oma serveri nimi, millega soovite töötada, vastasel juhul jätke see vaikimisi. Kirjutage oma serveris asuv andmebaasi nimi, millega soovite töötada. Kui te ei soovi seda muuta, siis jätke see vaikimisi. Kasutame andmebaasi “test”, seetõttu oleme selle lisanud. Võite töötada ka vaikepordil 5432, kuid saate seda ka muuta. Lõpuks peate esitama valitud andmebaasi kasutajanime. Jätke see vaikimisi, kui te ei soovi seda muuta. Sisestage valitud kasutajanime jaoks oma parool ja vajutage käsurea kasutamise alustamiseks klaviatuuril nuppu "Enter".

SERIAL-märksõna kasutamine andmetüübina:

Tabeli loomisel ei lisata me tavaliselt peamise veeru väljale märksõna SERIAL. See tähendab, et peame INSERT-lause kasutamisel lisama väärtused primaarvõtme veergu. Kuid kui kasutame tabeli loomisel oma päringus märksõna SERIAL, ei peaks me väärtuste sisestamise ajal lisama peamisi veeruväärtusi. Heidame sellele pilgu.

Näide 01:

Looge tabel “Test” kahe veeruga “id” ja “name”. Veerg „id” on määratletud esmase võtme veeruna, kuna selle andmetüüp on SERIAL. Teisalt on veerg „nimi” määratletud kui andmetüüp TEKST EI NULL. Proovige tabeli loomiseks allolevat käsku ja tabel luuakse tõhusalt, nagu alloleval pildil näha.

>> CREATE TABLE Test (id SEERIAL PRIMARY KEY, nimi TEXT NOT NULL);

Lisame mõned väärtused vastloodud tabeli „TEST“ veergu „nimi“. Veerule „id” me väärtust ei lisa. Näete, et väärtused on edukalt sisestatud, kasutades käsku INSERT, nagu allpool öeldud.

>> INSERT INTO Test (nimi) VÄÄRTUSED ('Aqsa'), ('Rimsha'), ('Khan');

On aeg kontrollida tabeli 'Test' arvestust. Proovige allpool käsku SELECT käsku.

>> VALI * TEST;

Allpool olevast väljundist võite märgata, et veerg “id” on selles automaatselt mõned väärtused saanud, kuigi me pole lisanud käsku INSERT ühtegi väärtust veeru “id” jaoks määratud seeriatüübi SERIAL tõttu. Nii töötab andmetüüp SERIAL iseenesest.

Näide 02:

Teine võimalus veeru SERIAL väärtuse kontrollimiseks on käsus INSERT märksõna RETURNING. Allpool olev deklaratsioon loob tabelisse „Test” uue rea ja annab välja „id” väärtuse:

>> INSERT INTO Test (nimi) VÄÄRTUSED ('Hassam') TAGASTAMISE id;

Kontrollides tabeli “Test” kirjeid SELECT-päringu abil, saime allpool toodud väljundi, nagu pildil näidatud. Viies rekord on tabelisse tõhusalt lisatud.

>> VALI * TEST;

Näide 03:

Ülaltoodud sisestuspäringu alternatiivne versioon kasutab märksõna DEFAULT. Kasutame käskus INSERT veeru „id“ nime ja jaotises VÄÄRTUSED anname sellele väärtuseks märksõna DEFAULT. Allolev päring töötab täitmisel sama.

>> INSERT INTO Test (id, nimi) VÄÄRTUSED (DEFAULT, 'Raza');

Kontrollime tabelit uuesti, kasutades päringut SELECT järgmiselt:

>> VALI * TEST;

Allpool olevast väljundist näete, et uus väärtus on lisatud, samal ajal kui veergu "id" on vaikimisi suurendatud.

Näide 04:

Veerg SERIAL järjekorranumbri leiate PostgreSQL-i tabelist. Selle saavutamiseks kasutatakse meetodit pg_get_serial_sequence (). Peame kasutama funktsiooni currval () koos meetodiga pg_get_serial_sequence (). Selles päringus esitame funktsiooni pg_get_serial_sequence () parameetrites tabeli nime ja selle veeru SERIAL nime. Nagu näete, oleme määranud tabeli „Test” ja veeru „id”. Seda meetodit kasutatakse allpool toodud päringu näites:

>> SELECT currval (pg_get_serial_sequence ('Test', 'id'));

Väärib märkimist, et meie currval () funktsioon aitab meil eraldada järjestuse uusima väärtuse, milleks on „5”. Alloleval pildil on illustratsioon, kuidas etendus võiks välja näha.

Järeldus:

Selles juhendajaõpetuses oleme näidanud, kuidas kasutada seeria Pseudotüüpi PostgreSQL-i automaatseks suurendamiseks. PostgreSQL-is seeriat kasutades on lihtne luua automaatselt kasvav numbrikomplekt. Loodetavasti saate välja SERIAL rakendada tabelikirjeldustele, kasutades viitena meie illustratsioone.

Kuidas kasutada AutoKeyt Linuxi mängude automatiseerimiseks
AutoKey on Linuxi ja X11 töölaua automatiseerimise utiliit, mis on programmeeritud Python 3, GTK ja Qt. Selle skriptimise ja MACRO funktsionaalsuse ab...
Kuidas näidata FPS-loendurit Linuxi mängudes
Linuxi mängimine sai suure tõuke, kui Valve teatas Steam-kliendi ja nende mängude Linuxi toest 2012. aastal. Sellest ajast peale on paljud AAA- ja ind...
Sid Meieri Civilization VI allalaadimine ja mängimine Linuxis
Sissejuhatus mängu Civilization 6 on kaasaegne kontseptsioon, mis tutvustati Age of Empires mängude sarjas. Idee oli üsna lihtne; alustaksite kõige põ...