Szintaxis:
Az automatikus növekményes elsődleges kulcs létrehozásának általános szintaxisa a következő:
>>TÁBLÁZAT LÉTREHOZÁSA table_name( idSOROZATSZÁM);
Nézzük most részletesebben a CREATE TABLE nyilatkozatot:
- A PostgreSQL először generál egy sorozat entitást. A sorozat következő értékét állítja elő, és a mező alapértelmezett referenciaértékeként állítja be.
- A PostgreSQL a N NULL implicit korlátozást alkalmazza egy azonosító mezőre, mivel egy sorozat numerikus értékeket állít elő.
- Az id mező a sorozat birtokosaként kerül kiosztásra. Ha az azonosító mező vagy maga a táblázat kihagyásra kerül, a sorozat elvetésre kerül.
Az automatikus növelés fogalmának megértéséhez győződjön meg arról, hogy a PostgreSQL fel van szerelve és konfigurálva van a rendszeren, mielőtt folytatná az útmutató illusztrációit. Nyissa meg a PostgreSQL parancssori shell-t az asztalon. Adja hozzá a kiszolgáló nevét, amelyen dolgozni szeretne, különben hagyja alapértelmezettként. Írja be annak a kiszolgálónak az adatbázis nevét, amelyen dolgozni szeretne. Ha nem szeretné megváltoztatni, hagyja alapértelmezettként. A tesztadatbázist fogjuk használni, ezért adtuk hozzá. Az alapértelmezett 5432 -es porton is dolgozhat, de módosíthatja is. Végül meg kell adnia a választott adatbázis felhasználónevét. Hagyja alapértelmezettként, ha nem akarja megváltoztatni. Írja be a jelszót a kiválasztott felhasználónévhez, és nyomja meg az Enter billentyűt a billentyűzetről a parancshéj használatának megkezdéséhez.
SOROS kulcsszó használata adattípusként:
Táblázat létrehozásakor általában nem adjuk hozzá a SOROZAT kulcsszót az elsődleges oszlop mezőbe. Ez azt jelenti, hogy az értékeket hozzá kell adnunk az elsődleges kulcs oszlophoz az INSERT utasítás használata közben. Ha azonban táblázat létrehozásakor a SERIAL kulcsszót használjuk lekérdezésünkben, akkor nem kell hozzáadnunk az elsődleges oszlopértékeket az értékek beszúrása közben. Vessünk egy pillantást rá.
Példa 01:
Hozzon létre egy táblázat teszt két oszlop azonosító és név. Az oszlop azonosítója elsődleges kulcs oszlopként van definiálva, mivel az adattípusa SERIAL. Másrészt az oszlop neve a TEXT NOT NULL adattípus. Próbálja ki az alábbi parancsot egy táblázat létrehozásához, és a táblázat hatékonyan jön létre, amint az az alábbi képen látható.
>>TÁBLÁZAT LÉTREHOZÁSA Teszt( idSOROS ELSŐ KULCS, név SZÖVEG NEM NULL);
Szúrjunk be néhány értéket az újonnan létrehozott TESZT oszlop nevébe. Nem adunk hozzá értéket az oszlop azonosítójához. Láthatja, hogy az értékek sikeresen beillesztésre kerültek az INSERT paranccsal az alábbiak szerint.
>>INSERT INTO Test(név)ÉRTÉKEK('Aqsa'),('Rimsa'),('Kán');
Itt az ideje, hogy ellenőrizze a „Teszt” táblázat rekordjait. Próbálja ki az alábbi SELECT utasítást a parancshéjban.
>>SELECT*FROM tesztből;Az alábbi kimeneten észreveheti, hogy az oszlop azonosítója automatikusan tartalmaz bizonyos értékeket, annak ellenére, hogy az INSERT parancsból nem adtunk hozzá értékeket az oszlop azonosítójához megadott SERIAL adattípus miatt. A SERIAL adattípus így működik önmagában.
Példa 02:
A SERIAL adattípus oszlop értékének másik módja a RETURNING kulcsszó használata az INSERT parancsban. Az alábbi deklaráció új sort hoz létre a Teszt táblázatban, és megadja az azonosító mező értékét:
>>INSERT INTO Test(név)ÉRTÉKEK('Hassam')VISSZATÉRÉSid;
A SELECT lekérdezés használatával a Teszt táblázat rekordjainak ellenőrzésével az alábbi kimenetet kaptuk, ahogy a képen látható. Az ötödik rekord hatékonyan került a táblázatba.
>>SELECT*FROM tesztből;
Példa 03:
A fenti beszúrás lekérdezés alternatív változata a DEFAULT kulcsszót használja. Az INSERT parancsban az oszlop azonosítóját fogjuk használni, és az ÉRTÉK szakaszban az alapértelmezett kulcsszót adjuk meg értékként. Az alábbi lekérdezés végrehajtáskor ugyanúgy fog működni.
>>INSERT INTO Test(id, név)ÉRTÉKEK(Alapértelmezett, „Verseny”);
Ellenőrizzük újra a táblázatot a SELECT lekérdezés használatával az alábbiak szerint:
>>SELECT*FROM tesztből;Az alábbi kimeneten látható, hogy az új érték hozzáadásra került, miközben az oszlop azonosítója alapértelmezés szerint nőtt.
Példa 04:
A SOROZAT oszlop mező sorszáma megtalálható a PostgreSQL táblázatában. Ennek eléréséhez a pg_get_serial_sequence () metódust használjuk. A curgval () függvényt a pg_get_serial_sequence () metódussal együtt kell használnunk. Ebben a lekérdezésben megadjuk a tábla nevét és annak SOROZAT oszlopnevét a pg_get_serial_sequence () függvény paramétereiben. Amint láthatja, megadtuk a Teszt táblázatot és az oszlop azonosítóját. Ezt a módszert használják az alábbi lekérdezési példában:
>>Görbe kiválasztása(pg_get_serial_sequence('Teszt', 'id'));Érdemes megjegyezni, hogy a currval () függvényünk segíti a sorozat legutóbbi értékének kinyerését, amely az 5. Az alábbi kép illusztrálja, hogyan nézhet ki az előadás.
Következtetés:
Ebben az útmutatóban bemutattuk, hogyan kell használni a SERIAL pszeudo-típust az automatikus növeléshez a PostgreSQL-ben. A PostgreSQL sorozat segítségével egyszerűen felépíthető egy automatikusan növekvő számhalmaz. Remélhetőleg alkalmazhatja a SOROZAT mezőt a táblázat leírásaihoz, az illusztrációinkat használva referenciaként.