Ebben a részben a PostgreSQL varchar adattípusok működését fogjuk megérteni, amely lehetővé teszi számunkra a korlátlan hosszúságú karakterek tárolását. És példákat is látunk a Varchar adattípusra és a szóközökre.

Mi az a PostgreSQL Varchar adattípus?

A PostgreSQL-ben a Varchar adattípus a végtelen hosszúságú karakter tárolására szolgál. És maximum 65 535 bájt hosszúságú karakterláncot képes tárolni.

Más szóval azt mondhatjuk, hogy a PostgreSQL Varchar adattípus a VARCHAR jelű karakteres adattípust használja.

  • A legtöbbször a Varchar és a Text adattípusokat kell használnunk. Ha azt akarjuk, hogy a PostgreSQL ellenőrizze a hosszúságot, akkor a VARCHAR(n)-t használjuk.
  • A PostgreSQL-ben a varchar illusztráció a Varchar (n), ahol az n a karakter hosszának határértékét jelöli. Ha n nincs leírva, akkor alapértelmezés szerint Varchar, amely végtelen hosszúságú.
  • Ha a Varchar(n)-rel megadott oszlopban hosszabb karakterláncot próbálunk kapni, akkor a PostgreSQL hibát jelenít meg a kimeneten.
  • Még akkor is van kivétel, ha a további karakterek mind szóközök, akkor a PostgreSQL a szóközöket a maximális (n) hosszúságra vágja és tárolja a karakterláncot.
  • A PostgreSQL ellenőrizni fogja és hibát jelez, ha a Varchar adattípushoz hosszmeghatározót definiálunk, vagy ha n-nél több karaktert próbálunk beilleszteni a Varchar(n) oszlopba.

Megjegyzés: A varchar adattípus egy változó hosszúságú karakterlánc, amely speciális karaktereket, számokat és betűket is tartalmazhat. És n olyan szöveget tárol, amelynek hossza legfeljebb 0 és 65535 karakter között lehet.

A PostgreSQL Varchar adattípus szintaxisa

A PostgreSQL Varchar adattípus szintaxisa a következő:

Példák a PostgreSQL Varchar adattípusra

Lássunk különböző példákat, hogy megértsük, hogyan működik a PostgreSQL Varchar adattípus.

Ezért létrehozunk egy új táblát Varchar_demo tábla néven a CREATE parancs segítségével és beszúrunk néhány értéket az INSERT parancs segítségével.

Varchar_demo táblákat hozunk létre a Szervezet adatbázisban a CREATE parancs segítségével:

Kimenet

A fenti parancs sikeres végrehajtása után létrejött a Varchar_demo tábla, ahogy az az alábbi képen látható:

Amikor a Varchar_demo tábla létrejött, az INSERT parancs segítségével beszúrunk néhány értéket.

Kimenet

A fenti parancs végrehajtása után a következő kimenetet kapjuk, a PostgreSQL hibaüzenetet ad ki, hogy “az érték túl hosszú a változó típusú karakterhez (1)”.

Ez azt jelenti, hogy a P oszlop adattípusa VARCHAR (1), és ahol egy három karakterből álló karakterláncot próbálunk beszúrni egy adott oszlopba, ahogy az alábbi képernyőképen megfigyelhetjük:

A fenti hiba feloldásához az alábbi parancsot fogjuk használni az alábbiak szerint:

Output

A fenti parancs végrehajtásakor a PostgreSQL ismét hasonló hibát ad ki a Q oszlopra, ami azt jelenti, hogy a Q oszlop adattípusa VARCHAR (10). Ezzel szemben a beírt karakterek száma több mint 10, ahogy az alábbi képernyőképen is megfigyelhetjük:

Ezért mindkét fenti hiba elhárítására az alábbi parancsot fogjuk használni:

Output

A fenti parancs végrehajtása után a következő eredményt kapjuk: az érték sikeresen be lett illesztve a Varchar_demo táblába.

Amint a fenti képernyőképen láthatjuk, sikeresen beszúrtuk a P és Q oszlop értékeit.

A Varchar_demo tábla értékeinek létrehozása és beszúrása után a SELECT paranccsal visszaadjuk a Varchar_demo tábla összes sorát:

Kimenet

A fenti parancs végrehajtása után a következő eredményt kapjuk, ahol láthatjuk, hogy a P és a Q oszlop értékét is sikeresen bevittük a Varchar_demo táblába.

Példa 2

Lássunk még egy példát a Varchar adattípus részletes megismeréséhez. Létrehozunk egy új táblát Varchar_demo2 néven a CREATE parancs segítségével, és beszúrunk néhány értéket az INSERT parancs segítségével.

Elkészítjük a Varchar_demo2 táblát a fentihez hasonló adatbázisban, amely a CREATE parancs segítségével a Szervezés:

Kimenet

A Varchar_demo2 tábla a fenti parancs végrehajtása után sikeresen létrejött, ahogy az alábbi képernyőképen látható:

Amint a Varchar_demo2 táblát létrehoztuk, az INSERT parancs segítségével beszúrhatunk néhány értéket.

Kimenet

A fenti parancs végrehajtása után. A PostgreSQL a következő hibaüzenetet adja: “az érték túl hosszú a Character (1) típushoz”. A kimenet ezt jobban megmagyarázza.

Példa a PostgreSQL VARCHAR és a szóközök

A PostgreSQL a varchar értékek tárolásakor nem hosszabbítja meg a szóközt, és a PostgreSQL a Varchar értékek tárolásakor vagy visszanyerésekor a hátul lévő szóközöket is elveszi.

Ezért nézzük meg az alábbi példát, hogy megértsük, amelyben az Insert parancsot, és a fenti példában létrehozott Varchar_demo2 táblázat Name oszlopába értékeket adunk be:

Output

A fenti parancs végrehajtása után a következő eredményt kapjuk: az érték sikeresen be lett illesztve a Varchar_demo2 táblázatba.

A Varchar_demo2 tábla értékeinek létrehozása és beszúrása után a SELECT paranccsal lekérdezzük az értékeket a Varchar_demo2 táblából:

Output

A fenti parancs végrehajtása után a következő eredményt kapjuk: A PostgreSQL a hosszszámításnál tartalmazza az utolsó szóközt, mivel az nem növeli az oszlop hosszát.

Ha olyan Varchar értéket próbálunk beilleszteni, amelynek az oszlop hosszát meghaladta a hátul lévő szóközökkel, és a PostgreSQL a hátul lévő szóközöket levágja. Emellett a PostgreSQL figyelmeztetést ad ki. Ahogy az alábbi példában is látható:

Kimenet

A fenti parancs végrehajtásakor az alábbi eredményt kapjuk:

A fenti parancsban a beillesztett érték hossza hat a Name oszlopba. És az érték továbbra is beillesztésre kerül az oszlopba. Azonban a PostgreSQL az érték hozzáadása előtt levágja az utolsó szóközt.

Az alábbi parancs súgójával ellenőrizhetjük, ahol az Insert parancs sikeresen beillesztésre kerül.

Kimenet

A fenti parancs végrehajtása után az alábbi kimenetet kapjuk még mindig egy figyelmeztetéssel, ami a következő: Az 1. sorban lévő ‘Név’ oszlop esetében az adatok csonkolódtak:

Különbség a PostgreSQL CHAR és a PostgreSQL VARCHAR adattípus között

A PostgreSQL CHAR és a VARCHAR adattípusok mindkettő ASCII karaktert követ. Gyakorlatilag hasonlóak, de különböznek az adatok tárolásában és az adatbázisból való kinyerésében.

A következő táblázat rávilágít a CHAR és VARCHAR adattípus közötti lényeges különbségekre:

PostgreSQL CHAR adattípus PostgreSQL VARCHAR adattípus
A PostgreSQL támogatja a Char adattípus statikus memóriafoglalást. A PostgreSQL támogatja a dinamikus memóriafoglalást a Varchar adattípushoz.
A Char adattípust Character néven is ismerik. A Varchar adattípust változó karakternek is nevezik.
A char adattípus legfeljebb 255 karaktert tartalmazhat. A Varchar adattípus legfeljebb 65535 karaktert tartalmazhat.
A Char adattípus fix hosszúságú karakterláncban tárolja az értékeket, amit egy táblázat létrehozása során ábrázolunk. A Varchar adattípus változó hosszúságú karakterláncban tárolja az értékeket egy vagy két bájt hosszúságú előtaggal.
Ez a megadott hosszúságot tartalmazó karakterek tárolásakor nem lehet kitölteni semmilyen karakterrel, szóközzel.

Áttekintés

A PostgreSQL Varchar adattípusról szóló részben a következő témaköröket ismertük meg:

  • A Varchar adattípus felhasználása változó hosszúságú karaktertípusokhoz.
  • Ha a karakterlánc (n) hosszát szeretnénk ellenőrizni, mielőtt beszúrnánk vagy frissítenénk az oszlopba, akkor a Varchar(n) adattípust használhatjuk.
  • A PostgreSQL Varchar adattípust és a szóközöket használjuk.

Mégis a PostgreSQL Varchar adattípust használjuk.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.