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:
- PostgreSQL vispirms ģenerē virknes entītiju. Tas rada nākamo vērtību sērijā un iestata to kā lauka noklusējuma atsauces vērtību.
- PostgreSQL ID laukam piemēro netiešo ierobežojumu NOT NULL, jo sērija rada skaitliskas vērtības.
- Lauks ID tiks piešķirts kā sērijas īpašnieks. Ja lauks id vai pati tabula tiek izlaista, secība tiks izmesta.
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.