PostgreSQL

Kā iestatīt PostgreSQL automātiskās palielināšanas primāro atslēgu?

Kā iestatīt PostgreSQL automātiskās palielināšanas primāro atslēgu?
Var būt gadījumi, kad jūs izveidojat un uzturat tabulas PostgreSQL, kad vēlaties konkrētas vērtības kolonnai, kas tiek ģenerēta pēc pieprasījuma. Tas jo īpaši attiecas uz kolonnām “id”, kas darbojas kā tabulas galvenā atslēga. Par laimi SERIAL pseidotips ļauj padarīt ērtu veselu skaitļu sēriju ar automātisku pieaugumu. Sērija ir PostgreSQL datu bāzes objekta veids, kas rada virkni indeksu vai veselu skaitļu. PostgreSQL secība rada atšķirīgu veselu skaitļu virkni, padarot to piemērotu izmantošanai kā primāro atslēgu, veidojot jaunu tabulu. Mēs jums parādīsim, kādas automātiskās palielināšanas izvēlnes tiek izmantotas PostgreSQL, un šajā rokasgrāmatā mēs izmantosim SERIAL pseidotipu.

Sintakse:

Automātiskā pieauguma primārās atslēgas izveidošanas vispārējā sintakse ir šāda:

>> CREATE TABLE table_name (id SERIAL);

Tagad ieskatīsimies deklarācijā CREATE TABLE:

Lai iegūtu automātiskās pieauguma jēdzienu, lūdzu, pārliecinieties, ka PostgreSQL ir uzstādīts un konfigurēts jūsu sistēmā, pirms turpiniet ilustrācijas šajā rokasgrāmatā. No darbvirsmas atveriet komandrindas apvalku PostgreSQL. Pievienojiet sava servera nosaukumu, pie kura vēlaties strādāt, pretējā gadījumā atstājiet to noklusējuma iestatījumā. Uzrakstiet datu bāzes nosaukumu, kas atrodas jūsu serverī, kurā vēlaties strādāt. Ja nevēlaties to mainīt, atstājiet to kā noklusējumu. Mēs izmantosim “testa” datu bāzi, tāpēc esam to pievienojuši. Varat arī strādāt pie noklusējuma porta 5432, taču to varat arī mainīt. Galu galā jums ir jānorāda izvēlētās datubāzes lietotājvārds. Atstājiet to pēc noklusējuma, ja nevēlaties to mainīt. Ierakstiet savu paroli atlasītajam lietotājvārdam un nospiediet tastatūras taustiņu “Enter”, lai sāktu izmantot komandu apvalku.

Izmantojot SERIAL atslēgvārdu kā datu tipu:

Veidojot tabulu, primārās kolonnas laukā parasti nepievienojam atslēgvārdu SERIAL. Tas nozīmē, ka mums ir jāpievieno vērtības primārās atslēgas kolonnai, vienlaikus izmantojot INSERT paziņojumu. Bet, veidojot tabulu, vaicājumā izmantojam atslēgvārdu SERIAL, ievietojot vērtības, nevajadzētu pievienot primāro kolonnu vērtības. Apskatīsim to.

01. piemērs:

Izveidojiet tabulu “Test” ar divām kolonnām “id” un “name”. Kolonna “id” ir definēta kā primārās atslēgas kolonna, jo tās datu tips ir SERIAL. No otras puses, sleja “nosaukums” ir definēta kā datu tips TEKSTS NAV NULL. Izmēģiniet zemāk esošo komandu, lai izveidotu tabulu, un tabula tiks izveidota efektīvi, kā redzams zemāk esošajā attēlā.

>> CREATE TABLE Test (id SERIAL PRIMARY KEY, nosaukums TEXT NOT NULL);

Ievietosim dažas vērtības jaunizveidotās tabulas “TEST” slejā “nosaukums”. Kolonnai “id” mēs nepievienosim nekādu vērtību. Var redzēt, ka vērtības ir veiksmīgi ievietotas, izmantojot komandu INSERT, kā norādīts zemāk.

>> IEVADĪT TESTA (nosaukums) VĒRTĪBAS ('Aqsa'), ('Rimsha'), ('Khan');

Ir pienācis laiks pārbaudīt tabulas “Test” ierakstus. Izmēģiniet zemāk redzamo komandu komandu apvalka norādījumu.

>> SELECT * FROM pārbaude;

No zemāk esošās izejas jūs varat pamanīt, ka kolonnā “id” tajā ir automātiski iegūtas dažas vērtības, kaut arī kolonnai “id” norādītajam datu tipam SERIAL neesam pievienojuši nevienu vērtību no INSERT komandas. Šādi datu tips SERIAL darbojas pats par sevi.

02. piemērs:

Vēl viens veids, kā pārbaudīt slejas SERIAL datu tips vērtību, ir komandā INSERT izmantot atslēgvārdu RETURN. Tālāk esošā deklarācija tabulā “Test” izveido jaunu rindu un iegūst lauka “id” vērtību:

>> INSERT INTO Test (name) VALUES ('Hassam') RETURNING id;

Pārbaudot tabulas “Test” ierakstus, izmantojot vaicājumu SELECT, mēs saņēmām zemāk redzamo rezultātu, kā parādīts attēlā. Tabulā efektīvi pievienots piektais ieraksts.

>> SELECT * FROM pārbaude;

03. piemērs:

Iepriekš ievietotā vaicājuma alternatīvā versija izmanto atslēgvārdu DEFAULT. Komandā INSERT mēs izmantosim slejas “id” nosaukumu un sadaļā VĒRTĪBAS kā vērtību kā atslēgvārdu norādīsim noklusējuma atslēgvārdu. Zemāk esošais vaicājums pēc izpildes darbosies tāpat.

>> INSERT INTO Test (id, nosaukums) VĒRTĪBAS (PAMATOJUMS, 'Raza');

Vēlreiz pārbaudīsim tabulu, izmantojot vaicājumu SELECT šādi:

>> SELECT * FROM pārbaude;

Tālāk redzamajā izvadē var redzēt, ka jaunā vērtība ir pievienota, bet kolonna “id” pēc noklusējuma ir palielināta.

4. piemērs:

Kolonnas lauka SERIAL kārtas numurs ir atrodams PostgreSQL tabulā. Lai to paveiktu, tiek izmantota metode pg_get_serial_sequence (). Mums ir jāizmanto funkcija currval () kopā ar metodi pg_get_serial_sequence (). Šajā vaicājumā funkcijas pg_get_serial_sequence () parametros mēs norādīsim tabulas nosaukumu un tās slejas SERIAL nosaukumu. Kā redzat, mēs esam norādījuši tabulu “Test” un kolonnu “id”. Šī metode tiek izmantota šajā vaicājuma piemērā:

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

Ir vērts atzīmēt, ka mūsu currval () funkcija palīdz mums iegūt secības jaunāko vērtību, kas ir “5”. Zemāk redzamais attēls ir ilustrācija tam, kā izrāde varētu izskatīties.

Secinājums:

Šajā pamācības apmācībā mēs parādījām, kā SERIAL pseidotipu izmantot, lai automātiski palielinātu PostgreSQL. Izmantojot sēriju PostgreSQL, ir viegli izveidot automātisku skaitļu kopu. Cerams, ka tabulas aprakstiem varēsiet izmantot lauku SĒRIJA, izmantojot mūsu ilustrācijas kā atsauci.

Kā izmantot AutoKey, lai automatizētu Linux spēles
AutoKey ir darbvirsmas automatizācijas lietderība operētājsistēmām Linux un X11, kas ieprogrammēta Python 3, GTK un Qt. Izmantojot skriptu un MACRO fu...
Kā parādīt FPS skaitītāju Linux spēlēs
Linux spēles ieguva lielu impulsu, kad Valve 2012. gadā paziņoja par Linux atbalstu Steam klientam un viņu spēlēm. Kopš tā laika daudzas AAA un indie ...
Kā lejupielādēt un atskaņot Sid Meier Civilization VI operētājsistēmā Linux
Ievads spēlē Civilization 6 ir mūsdienīga klasiskā koncepcija, kas ieviesta Age of Empires spēļu sērijā. Ideja bija diezgan vienkārša; jūs sāktu pašā ...