Szintaxis:
Az automatikus növekedésű elsődleges kulcs létrehozásának általános szintaxisa a következő:
>> CREATE TABLE tábla_neve (id SOROZAT);Most nézzük meg részletesebben a CREATE TABLE nyilatkozatot:
- A PostgreSQL előbb soros entitást generál. Ez előállítja a sorozat következő értékét, és a mező alapértelmezett referenciaértékeként állítja be.
- A PostgreSQL a NULL implicit korlátozást alkalmazza egy id mezőre, mivel egy sorozat numerikus értékeket állít elő.
- Az id mező a sorozat tulajdonosa lesz. Ha az id mezőt vagy magát a táblázatot kihagyja, a sorrendet elveti.
Az automatikus növekedés koncepciójának megismeréséhez, mielőtt folytatná az ebben az útmutatóban szereplő ábrákat, győződjön meg arról, hogy a PostgreSQL fel van szerelve és konfigurálva a rendszerén. Nyissa meg a PostgreSQL parancssori héjat az asztalról. Adja hozzá a szerver nevét, amelyen dolgozni szeretne, különben hagyja alapértelmezettként. Írja be a kiszolgálón található adatbázis nevét, amelyen dolgozni szeretne. Ha nem akarja megváltoztatni, hagyja alapértelmezettként. A „teszt” adatbázist fogjuk használni, ezért adtuk hozzá. Dolgozhat az alapértelmezett 5432-es porton is, de meg is változtathatja. Végül meg kell adnia a választott adatbázis felhasználónevét. Hagyja alapértelmezetten, ha nem akarja megváltoztatni. Írja be a jelszavát a kiválasztott felhasználónévhez, és nyomja meg az „Enter” billentyűt a billentyűzeten, hogy elkezdje használni a parancshéjat.
A SERIAL kulcsszó használata adattípusként:
Tábla létrehozásakor általában nem vesszük fel a SERIAL kulcsszót az elsődleges oszlopmezőbe. Ez azt jelenti, hogy hozzá kell adnunk az értékeket az elsődleges kulcs oszlophoz az INSERT utasítás használata közben. De amikor a SERIAL kulcsszót használjuk a lekérdezés során a táblázat létrehozása során, akkor nem kell hozzáadnunk elsődleges oszlopértékeket az értékek beszúrása közben. Vessünk egy pillantást rá.
01. példa:
Hozzon létre egy „Teszt” táblázatot két oszloppal: „id” és „name”. Az „id” oszlop elsődleges kulcs oszlopként került meghatározásra, mivel annak adattípusa SERIAL. Másrészt a „név” oszlop a SZÖVEG NEM NULL típusú adattípus. Próbálkozzon az alábbi paranccsal egy tábla létrehozásához, és a táblázat hatékonyan jön létre, ahogy az az alábbi képen látható.
>> CREATE TABLE Test (azonosító SOROZAT ELSŐDLEGES KULCS, neve SZÖVEG NEM NULL);
Helyezzünk be néhány értéket az újonnan létrehozott „TEST” tábla „name” oszlopába. Nem adunk hozzá értéket az „id” oszlophoz. Láthatja, hogy az értékeket sikeresen beillesztette az INSERT paranccsal az alábbiak szerint.
>> INSERT INTO Test (név) ÉRTÉKEK ('Aqsa'), ('Rimsha'), ('Khan');
Itt az ideje ellenőrizni a „Teszt” táblázat rekordjait. Próbálja ki az alábbi SELECT parancsot a parancsértelmezőben.
>> SELECT * FROM teszt;Az alábbi kimenetből észreveheti, hogy az „id” oszlop automatikusan kapott néhány értéket, annak ellenére, hogy az INSERT parancsból nem adtunk hozzá értékeket az „id” oszlophoz megadott SERIAL adattípus miatt. Így működik a SERIAL adattípus önmagában.
02. példa:
A SERIAL adattípus oszlop értékének ellenőrzésének másik módja az INSERT parancs RETURNING kulcsszavának használata. Az alábbi nyilatkozat új sort hoz létre a „Teszt” táblázatban, és megadja az „id” mező értékét:
>> INSERT INTO Test (név) ÉRTÉKEK ('Hassam') VISSZATÉRÉS id;
A „Test” tábla rekordjainak ellenőrzésével a SELECT lekérdezés segítségével az alábbi kimenetet kaptuk, ahogy a képen látható. Az ötödik rekord hatékonyan került fel a táblázatba.
>> SELECT * FROM teszt;
03. példa:
A fenti beszúrási lekérdezés alternatív változata a DEFAULT kulcsszót használja. Az „id” oszlop nevét fogjuk használni az INSERT parancsban, az ÉRTÉKEK részben pedig az DEFAULT kulcsszót adjuk meg értékként. Az alábbi lekérdezés a végrehajtáskor ugyanúgy fog működni.
>> INSERT INTO Test (id, név) ÉRTÉKEK (ALAPÍTVÁNY, 'Raza');
Ellenőrizzük újra a táblázatot a SELECT lekérdezéssel az alábbiak szerint:
>> SELECT * FROM teszt;Az alábbi kimenetből láthatja, hogy az új érték hozzáadásra került, miközben az „id” oszlop alapértelmezés szerint növekedett.
44. példa:
A SOROZAT oszlopmező sorszáma a PostgreSQL táblázatában található. Ennek megvalósítására a pg_get_serial_sequence () metódust használjuk. A currval () függvényt a pg_get_serial_sequence () módszerrel együtt kell használnunk. Ebben a lekérdezésben megadjuk a tábla nevét és annak SERIAL oszlopnevét a pg_get_serial_sequence () függvény paramétereiben. Amint láthatja, megadtuk a „Teszt” táblázatot és az „id” oszlopot. Ezt a módszert az alábbi lekérdezési példa használja:
>> SELECT currval (pg_get_serial_sequence ('Teszt', 'id'));Érdemes megjegyezni, hogy a currval () függvényünk segít kivonni a szekvencia legfrissebb értékét, amely „5”. Az alábbi kép szemlélteti, hogy milyen lehet az előadás.
Következtetés:
Ebben az útmutatóban bemutattuk, hogyan használhatjuk a SERIAL ál-típust az automatikus növekményhez a PostgreSQL-ben. Sorozatok használata a PostgreSQL-ben egyszerű, ha automatikusan növekszik a számhalmaz. Remélhetőleg alkalmazhatja a SOROZAT mezőt a táblázatok leírásaihoz, referenciaként felhasználva az illusztrációinkat.