PostgreSQL

Cum se configurează cheia primară PostgreSQL pentru creșterea automată?

Cum se configurează cheia primară PostgreSQL pentru creșterea automată?
Ar putea exista ocazii în care construiți și întrețineți tabele în PostgreSQL când doriți valori speciale pentru o coloană care este generată la cerere. Acest lucru ar fi deosebit de adevărat pentru coloanele „id” care acționează ca cheia primară a tabelului. Din fericire, pseudo-tipul SERIAL permite realizarea convenabilă a unei serii întregi cu incrementare automată. O serie este un tip de obiect de bază de date în PostgreSQL care produce o serie de indici sau numere întregi. O secvență PostgreSQL produce un șir de numere întregi distincte, făcându-l potrivit pentru a fi folosit ca cheie primară atunci când se generează o nouă tabelă. Vă vom demonstra ce meniuri de incrementare automată în PostgreSQL și vom folosi pseudo-tipul SERIAL în acest ghid.

Sintaxă:

Sintaxa generală pentru crearea cheii primare de incrementare automată este după cum urmează:

>> CREATE TABLE table_name (ID SERIAL);

Să aruncăm o privire acum asupra declarației CREATE TABLE în detaliu:

Pentru a obține conceptul de incrementare automată, vă rugăm să vă asigurați că PostgreSQL este montat și configurat pe sistemul dvs. înainte de a continua cu ilustrațiile din acest ghid. Deschideți shell-ul de linie de comandă PostgreSQL de pe desktop. Adăugați numele serverului pe care doriți să lucrați, altfel lăsați-l implicit. Scrieți numele bazei de date care se află pe serverul dvs. pe care doriți să lucrați. Dacă nu doriți să îl modificați, lăsați-l ca implicit. Vom folosi baza de date „test”, de aceea am adăugat-o. De asemenea, puteți lucra la portul implicit 5432, dar îl puteți schimba și. În cele din urmă, trebuie să furnizați numele de utilizator pentru baza de date pe care o alegeți. Lăsați-o în mod implicit dacă nu doriți să o modificați. Tastați parola pentru numele de utilizator selectat și apăsați „Enter” de la tastatură pentru a începe să utilizați shell-ul de comandă.

Utilizarea cuvântului cheie SERIAL ca tip de date:

Când creăm un tabel, de obicei nu adăugăm cuvântul cheie SERIAL în câmpul coloanei principale. Aceasta înseamnă că trebuie să adăugăm valorile la coloana cheii primare în timp ce folosim instrucțiunea INSERT. Dar când folosim cuvântul cheie SERIAL în interogarea noastră în timp ce creăm un tabel, nu ar trebui să adăugăm valori de coloană primară în timp ce inserăm valorile. Să aruncăm o privire asupra ei.

Exemplul 01:

Creați un tabel „Test” cu două coloane „id” și „nume”. Coloana „id” a fost definită ca fiind coloana cheii primare, deoarece tipul său de date este SERIAL. Pe de altă parte, coloana „nume” este definită ca tip de date TEXT NOT NULL. Încercați comanda de mai jos pentru a crea un tabel, iar tabelul va fi creat eficient așa cum se vede în imaginea de mai jos.

>> CREARE TABEL Test (id SERIAL PRIMARY KEY, nume TEXT NOT NULL);

Să inserăm câteva valori în coloana „nume” a tabelului nou creat „TEST”. Nu vom adăuga nicio valoare coloanei „id”. Puteți vedea că valorile au fost inserate cu succes folosind comanda INSERT așa cum se arată mai jos.

>> INSERT INTO Test (name) VALUES ('Aqsa'), ('Rimsha'), ('Khan');

Este timpul să verificați înregistrările tabelului „Test”. Încercați instrucțiunea SELECT de mai jos din shell-ul comenzii.

>> SELECT * DIN Test;

Din ieșirea de mai jos, puteți observa că coloana „id” are în mod automat unele valori, chiar dacă nu am adăugat nicio valoare din comanda INSERT din cauza tipului de date SERIAL pe care l-am specificat pentru coloana „id”. Așa funcționează singur tipul de date SERIAL.

Exemplul 02:

O altă modalitate de a verifica valoarea coloanei tipului de date SERIAL este utilizând cuvântul cheie RETURNING din comanda INSERT. Declarația de mai jos creează o nouă linie în tabelul „Test” și dă valoarea pentru câmpul „id”:

>> INSERT INTO Test (nume) VALORI ('Hassam') ID RETURNING;

Verificând înregistrările tabelului „Test” folosind interogarea SELECT, am obținut rezultatul de mai jos așa cum este afișat în imagine. Al cincilea record a fost adăugat în mod eficient la masă.

>> SELECT * DIN Test;

Exemplul 03:

Versiunea alternativă a interogării de inserare de mai sus utilizează cuvântul cheie DEFAULT. Vom folosi numele coloanei „id” în comanda INSERT, iar în secțiunea VALUES, îi vom da cuvântul cheie DEFAULT ca valoare. Interogarea de mai jos va funcționa la fel la executare.

>> INSERT INTO Test (id, nume) VALORI (DEFAULT, 'Raza');

Să verificăm din nou tabelul folosind interogarea SELECT, după cum urmează:

>> SELECT * DIN Test;

Puteți vedea din rezultatul de mai jos, noua valoare a fost adăugată în timp ce coloana „id” a fost incrementată implicit.

Exemplul 04:

Numărul secvenței câmpului coloanei SERIAL poate fi găsit într-un tabel în PostgreSQL. Metoda pg_get_serial_sequence () este utilizată pentru a realiza acest lucru. Trebuie să folosim funcția currval () împreună cu metoda pg_get_serial_sequence (). În această interogare, vom furniza numele tabelei și numele coloanei SERIAL în parametrii funcției pg_get_serial_sequence (). După cum puteți vedea, am specificat tabelul „Test” și coloana „id”. Această metodă este utilizată în exemplul de interogare de mai jos:

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

Este demn de remarcat faptul că funcția noastră currval () ne ajută să extragem cea mai recentă valoare a secvenței, care este „5”. Imaginea de mai jos este o ilustrare a modului în care ar putea arăta performanța.

Concluzie:

În acest ghid tutorial, am demonstrat cum se utilizează pseudo-tipul SERIAL pentru a crește automat în PostgreSQL. Folosind o serie în PostgreSQL, este simplu să construiți un set de numere care se incrementează automat. Sperăm că veți putea aplica câmpul SERIAL descrierilor tabelului folosind ilustrațiile noastre ca referință.

Instrumente utile pentru jucătorii Linux
Dacă vă place să jucați jocuri pe Linux, este posibil să fi folosit aplicații și utilitare precum Wine, Lutris și OBS Studio pentru a îmbunătăți exper...
Jocuri HD remasterizate pentru Linux care nu au avut niciodată lansare Linux mai devreme
Mulți dezvoltatori și editori de jocuri vin cu remasterizarea HD a jocurilor vechi pentru a prelungi durata de viață a francizei, vă rog fanilor să so...
Cum se utilizează AutoKey pentru automatizarea jocurilor Linux
AutoKey este un utilitar de automatizare desktop pentru Linux și X11, programat în Python 3, GTK și Qt. Folosind funcțiile sale de scriptare și MACRO,...