Tässä osiossa ymmärrämme PostgreSQL:n varchar-tietotyyppien toiminnan, jonka avulla voimme tallentaa rajoittamattoman pituisen merkin. Ja näemme myös esimerkkejä Varchar-tietotyypistä ja välilyönneistä.

Mikä on PostgreSQL:n Varchar-tietotyyppi?

PostgreSQL:ssä Varchar-tietotyyppiä käytetään rajoittamattoman pituisen merkin säilyttämiseen. Ja se voi pitää sisällään merkkijonon, jonka enimmäispituus on 65 535 tavua.

Voidaan siis sanoa, että PostgreSQL:n Varchar-tietotyyppi käyttää merkkidatatyyppiä, joka merkitään VARCHAR:lla.

  • Enimmäkseen meidän tulisi käyttää Varchar- ja Text-tietotyyppejä. Jos haluamme PostgreSQL:n tarkistavan pituuden, käytämme VARCHAR(n).
  • PostgreSQL:ssä varchar-tietotyyppi havainnollistaa muotoa Varchar (n), jossa n:llä merkitään merkin pituuden rajaa. Jos n:ää ei ole kuvattu, se on oletusarvoisesti Varchar, jolla on ääretön pituus.
  • Jos yritämme saada pidemmän merkkijonon sarakkeeseen, joka on määritetty Varchar(n):llä, PostgreSQL aiheuttaa virheen tulosteessa.
  • Siltikin meillä on poikkeus, jos lisämerkit ovat kaikki välilyöntejä, niin PostgreSQL trimmaa välilyönnit maksimipituuteen (n) ja tallentaa merkkijonon.
  • PostgreSQL tarkistaa ja antaa virheen, jos määrittelemme Varchar-tietotyypin pituusmääritteen tai jos yritämme lisätä Varchar(n)-sarakkeeseen yli n merkkiä.

Huomautus: Varchar-tietotyyppi on muuttuvan pituinen merkkijono, joka voi sisältää erikoismerkkejä, numeroita ja kirjaimia. Ja n tallentaa tekstiä, jonka pituus voi olla enintään 0-65535 merkkiä.

PostgreSQL Varchar -datatyypin syntaksi

PostgreSQL Varchar -datatyypin syntaksi on seuraava:

Esimerkkejä PostgreSQL Varchar -datatyypistä

Katsotaanpa erilaisia esimerkkejä, jotta ymmärretään, miten PostgreSQL:n Varchar-tietotyyppi toimii.

Luotaan tätä varten yksi uusi taulukko nimeltä Varchar_demo table CREATE-komennon avulla ja lisätään joitakin arvoja INSERT-komennolla.

Luomme Varchar_demo-tauluja Organisaatio-tietokantaan CREATE-komennon avulla:

Tulos

Yllä olevan komennon onnistuneen suorittamisen jälkeen Varchar_demo-taulu on luotu, kuten alla olevassa kuvassa näkyy:

Kun Varchar_demo-taulu on luotu, lisäämme siihen joitakin arvoja INSERT-komennolla.

Tulos

Toteutettuamme yllä olevan komennon, saamme seuraavan tulosteen, PostgreSQL antaa virheen, että ”arvo on liian pitkä tyypin character varying (1)”.

Tämä tarkoittaa, että P-sarakkeen tietotyyppi on VARCHAR (1), ja jossa yritämme lisätä kolme merkkiä sisältävän merkkijonon tiettyyn sarakkeeseen, kuten voimme havaita alla olevasta kuvakaappauksesta:

Yllä olevan virheen ratkaisemiseksi käytämme alla olevaa komentoa seuraavasti:

Output

Toteuttaessamme yllä olevan komennon PostgreSQL antaa uudelleen samanlaisen virheen Q-sarakkeen osalta, mikä tarkoittaa, että Q-sarakkeen tietotyyppi on VARCHAR (10). Sen sijaan syötettyjen merkkien määrä on yli 10, kuten voimme havaita alla olevasta kuvakaappauksesta:

Kummankin edellä mainitun virheen ratkaisemiseksi käytämme siis alla olevaa komentoa:

Output

Yllä olevan komennon suorittamisen jälkeen saamme seuraavan tuloksen: Arvo on lisätty onnistuneesti Varchar_demo-tauluun.

Kuten yllä olevasta kuvakaappauksesta näkyy, olemme onnistuneesti lisänneet P- ja Q-sarakkeen arvot.

Kun olemme luoneet ja lisänneet Varchar_demo-taulukon arvot, käytämme SELECT-komentoa palauttaaksemme kaikki Varchar_demo-taulukon rivit:

Tulos

Toteutettuamme yllä olevan komennon saamme seuraavan tuloksen, josta näemme, että sekä sarakkeen P että sarakkeen Q arvot on onnistuneesti syötetty Varchar_demo-taulukkoon.

Esimerkki 2

Katsotaan vielä yksi esimerkki, jotta Varchar-tietotyyppi opitaan yksityiskohtaisesti. Luomme yhden uuden taulukon nimellä Varchar_demo2 CREATE-komennon avulla ja lisäämme joitakin arvoja INSERT-komennolla.

Luomme Varchar_demo2-taulun samanlaiseen tietokantaan kuin edellä, joka on Organisaatio CREATE-komennon avulla:

Output

Taulu Varchar_demo2 on luotu onnistuneesti edellä mainitun komennon suorittamisen jälkeen, kuten alla olevasta kuvakaappauksesta käy ilmi:

Kunhan taulukko Varchar_demo2 on luotu, voimme lisätä siihen joitain arvoja käyttämällä INSERT-komentoa.

Tulos

Toteutettuamme edellä mainitun komennon. PostgreSQL antaa virheilmoituksen ”arvo on liian pitkä tyypille Merkki (1)”. Tuloste selittää asian selkeämmin.

Esimerkki PostgreSQL VARCHAR ja välilyönnit

PostgreSQL ei pidennä varchar-arvojen tilaa tallennettaessa, ja PostgreSQL ottaa myös perässä olevat välilyönnit, kun ne tallennetaan tai palautetaan Varchar-arvoja.

Tämän ymmärtämiseksi katsomme alla olevan esimerkin, jossa Insert-komento, ja lisäämme arvoja Name-sarakkeeseen Varchar_demo2-taulussa, jonka loimme yllä olevassa esimerkissä:

Output

Yllä olevan komennon suorittamisen jälkeen saamme seuraavan tuloksen: Arvo on lisätty onnistuneesti Varchar_demo2-tauluun.

Varchar_demo2-taulun arvojen luomisen ja lisäämisen jälkeen haemme SELECT-komennolla arvot Varchar_demo2-taulusta:

Output

Toteutettuamme edellä mainitun komennon saamme seuraavan tuloksen, jossa PostgreSQL sisältää perässä olevan välilyönnin sarakkeen pituuden laskennassa, koska se ei lisää sarakkeen pituutta.

Jos yritämme lisätä Varchar-arvoa, jossa on sarakkeen pituuden ylittäviä peräkkäisiä välilyöntejä, ja PostgreSQL katkaisee peräkkäiset välilyönnit. Lisäksi PostgreSQL antaa varoituksen. Kuten olemme osoittaneet alla olevassa esimerkissä:

Output

Toteuttaessamme yllä olevan komennon saamme alla olevan tuloksen:

Yllä olevassa komennossa syötetyn arvon pituus on kuusi Name-sarakkeeseen. Ja arvo on edelleen lisätty sarakkeeseen. PostgreSQL kuitenkin leikkaa jälkeisen välilyönnin ennen arvon lisäämistä.

Voidaan tarkistaa se seuraavan komennon ohjeesta, jossa Insert-komento lisätään onnistuneesti.

Tulos

Toteutettuamme yllä olevan komennon, saamme alla olevan tuloksen vielä varoituksen kanssa, joka on: Data truncated for column ’Name’ at row 1:

Difference between PostgreSQL CHAR and PostgreSQL VARCHAR Data Type

Difference between PostgreSQL CHAR and PostgreSQL VARCHAR Data Type

Datatyypit PostgreSQL CHAR ja VARCHAR ovat kumpikin ASCII-merkkiä seuraavia. Ne ovat käytännössä samankaltaisia, mutta eroavat toisistaan tietojen tallentamisessa ja hakemisessa tietokannasta.

Seuraavassa taulukossa tuodaan esiin CHAR- ja VARCHAR-tietotyyppien olennaiset erot:

PostgreSQL CHAR-tietotyyppi PostgreSQL VARCHAR-tietotyyppi
PostgreSQL-tietokannassa tuetaan CHAR-tietotyypille staattista muistinjakoa. PostgreSQL tukee dynaamista muistinjakoa Varchar-tietotyypille.
Char-tietotyyppi tunnetaan myös nimellä Character. Varchar-tietotyyppiä kutsutaan myös nimellä Variable Character.
Char-tietotyyppiin mahtuu enintään 255 merkkiä. Varchar-tietotyyppiin mahtuu enintään 65535 merkkiä.
Datatyyppi Char tallentaa arvot kiinteän pituisina, joita esitämme taulukkoa luotaessa. Datatyyppi Varchar tallentaa arvot vaihtelevan pituisena merkkijonona, jonka pituusesimerkki on yksi tai kaksi tavua.
Se voidaan täyttää perässä olevalla välilyönnillä, jotta se sisältää määritellyn pituuden. Se ei voi täyttää millään merkillä, välilyönnillä, kun niitä tallennetaan.

Yleiskatsaus

PostgreSQL:n Varchar-tietotyyppiä käsittelevässä osiossa olemme tutustuneet seuraaviin aiheisiin:

  • Varchar-tietotyyppiä käytetään vaihtelevan pituisille merkkityypeille.
  • Jos haluamme tarkistaa merkkijonon (n) pituuden ennen sen lisäämistä tai päivittämistä sarakkeeseen, voimme käyttää Varchar(n)-tietotyyppiä.
  • Käytämme PostgreSQL:n Varchar-tietotyyppiä ja välilyöntejä.

Käytämme Varchar-tietotyyppiä ja välilyöntejä.

Vastaa

Sähköpostiosoitettasi ei julkaista.