Char ja Varchar

Anonim

Molemmat ovat tietotyyppejä monissa ohjelmointikieleissä ja tietokantajärjestelmissä, joissa "char" tarkoittaa merkkiä ja "varchar" viittaa muuttuvaan luonteeseen. Char C: ssä on merkkijono, jota käytetään merkkijonojen, enimmäkseen UTF-8-koodattujen merkkien ja kokonaislukujen tallentamiseen. Varchar on sen sijaan tietotyyppi, joka voi sisältää kaikentyyppisiä määrittelemättömiä pituuksia. Varchar viittaa kentän tietotyyppiin tietokannan hallintajärjestelmässä. Vaikka molemmat voivat tallentaa merkkijonon arvoja enintään 8 000 merkin pituiseen pituuteen, merkkiin tarvitaan enemmän tallennustilaa kuin varchar. Teknisesti molempia käytetään tallentamaan samantyyppisiä tietoja, mutta ne eroavat toisistaan ​​tallennuksen ja noudon tavoin. Katsotaanpa niiden eroja yksityiskohtaisesti.

Mikä on Char?

Char on kiinteäpituinen tietotyyppi, jota käytetään ei-Unicode-merkkien tallentamiseen, joten nimi (lyhyt merkki). Se vie yhden tavun tilaa jokaiselle merkille, jotka koodataan numeroina - ne, jotka ovat ASCII-koodauksesta. Hiirtityyppiä voidaan käyttää myös pienien kokonaislukujen ilmoittamiseen. Merkinmuuttujan ilmoittamiseksi käytetään avainsanaa "char", mikä tarkoittaa, että yksi tavu on tallennettu yhdeksi tavuiksi.

Kuten kokonaisluku tyyppejä, char voidaan allekirjoittaa tai unsigned. Se voi olla allekirjoitettuja char arvoja -128 ja 127 ja arkkitehtuurin koon mukaan, se voi olla myös allekirjoittamaton, pidä arvot välillä 0-255. Kun char arvoja tallennetaan, ne ovat oikein pehmustettu välilyöntejä määritetty pituus. Poistotilat poistetaan, kun ne haetaan.

Esimerkiksi - jos ilmoitat muuttujan char (7) tietotyypin, se vie aina 7 tavua dataa riippumatta siitä, tallentatko 1 merkin tai 7 merkkiä, mikä tarkoittaa, että tallennat sarakkeeseen enintään 7 merkkiä.

Mikä on Varchar?

Varchar, kuten nimi viittaa, on vaihtuvapituinen tietotyyppi, joka voi sisältää kaikentyyppisiä tietoja, joiden pituus vaihtelee välillä 0 - 65535. Varchar-kenttä voi tallentaa minkä tahansa koon tietyn rajan arvoihin tietokannasta riippuen. Se voidaan määritellä joko ohjelmointikielillä tai tietokantatasolla. Varkarekentän koko voi olla mikä tahansa nollasta maksimi ilmoitettuun kenttätasoon.

Muuttujan merkkinä käytetään varchar-avainsanaa. Varchar ottaa vaihtelevan tilan, mikä tarkoittaa, että se käyttää vain tavujen määrää, joka vastaa merkkien lukumäärää. Se auttaa välttämään tilan tuhlausta, koska se vain käyttää merkkijonon kokoa tarvitsevaa tilaa. Joissakin ohjelmointikielissä ja tietokantajärjestelmissä ylimääräinen tila poistetaan automaattisesti tietokannasta.

Esimerkiksi - jos ilmoitat muuttujan varchar (10), se käyttää tavujen määrää, joka on yhtä suuri kuin merkkien määrä. Joten, jos tallennat vain yhden merkin, se vie vain yhden tavun ja jos tallennat 10 merkkiä, se vie 10 tavua, jolloin vältetään tietokannan tyhjennys.

Char- ja Varchar-ero

  1. Tietotyyppi

'Char' on kiinteäpituinen tietotyyppi, jota käytetään kiinteän pituisen merkkijonoarvon tallentamiseen, kun taas 'Varchar' on muuttuvan pituinen tietotyyppi, jota käytetään tallentamaan muuttuvan pituisen aakkosnumeerisen datan.

  1. Tallennuskoko

Merkkiarvon tallennuskoko on yhtä kuin tämän sarakkeen enimmäiskoko, jonka ilmoitat luotaessa taulukkoa. Toisaalta varchar-arvon tallennuskoko on syötetyn datan todellinen pituus, ei tämän sarakkeen enimmäiskoko.

  1. Tietojen syöttö

Voit käyttää hiirtä, kun sarakkeen tietueiden odotetaan olevan kooltaan samanlaisia, mutta päinvastoin voidaan käyttää varkaria, kun sarakkeen tietueiden arvioidaan vaihtelevan kooltaan.

  1. Muistin jakaminen

Char käyttää staattisen muistin allokointia, kun taas varchar käyttää dynaamista muistin allokointia

  1. Pituus

Char-muuttujan pituus voi olla mikä tahansa arvo 0 - 255, kun taas varchar-muuttujan pituus vaihtelee välillä 0 - 65535.

  1. hakemus

Data-merkinnät ovat yhdenmukaisia ​​hiirtä, jota käytetään tietojen tallentamiseen, kuten puhelinnumeroihin, kun taas varcharia käytetään erilaisten tietojen kuten osoitteiden tallentamiseen.

Char vs.Varchar

char Varchar
Käytetään kiinteän pituisen merkkijonon arvon tallentamiseen. Tallennetaan muuttuvan pituisia aakkosnumeerisia tietoja.
Pituus vaihtelee välillä 0 - 255. Pituus vaihtelee välillä 0 - 65535.
Tallentaa 1 tavua merkkiä kohti. Ottaa 1 tavua merkkiä kohden ja lisäksi 1 tai 2 ylimääräistä tavua pituustietojen tallentamiseen.
Karstan varastokoko on sama kuin ilmoitettu. Varcharin varastokoko riippuu tallennetusta tiettyä merkkijonoa.
Käyttää staattisen muistin allokointia. Käyttää dynaamista muistin jakamista.
Char on käytettävä, kun muuttujan pituus tunnetaan. Varcharia tulee käyttää vain silloin, kun muuttujan pituutta ei tiedetä.
Se hyväksyy vain merkkejä. Se hyväksyy sekä merkkejä että numeroita.
Se on 50 prosenttia nopeampi kuin Varchar. Se on hitaampaa kuin Char.
Hiero-arvon tallennuskoko on sama kuin sarakkeen enimmäiskoko. Varchar-arvon varastokoko on yhtä kuin syötetyn datan todellinen pituus, ei sarakkeen enimmäiskoko.

Yhteenveto

  • Sekä 'Char' että 'Varchar' ovat tietojärjestelmiä ohjelmointikielissä ja tietokantajärjestelmissä, joilla on yhteisiä piirteitä toiminnallisuuden ja teknisyyden kannalta. Ne eroavat kuitenkin huomattavasti tavasta, jolla ne tallennetaan ja haetaan.
  • Vaikka hiiri todella viittaa merkkiin, varchar viittaa muuttuvaan luonteeseen. Kuten nimi viittaa, char on kiinteäpituinen tietotyyppi, kun varchar on muuttuvan pituinen tietotyyppi.
  • Char käyttää jopa 1 tavua merkkiä kohti, kun taas varcharin pituus on enintään 1 tavua merkkiä kohden ja lisäksi 1 tai 2 tavua. Hiilen pituus vaihtelee välillä 0 - 255 ja varchar, se voi olla mikä tahansa 0 - 65535.
  • Kun hiili on kiinteä pituus, mikä tahansa jäljellä oleva tila kentällä on pehmustettu aihioilla. Varchar on sen sijaan muuttuva pituus, joten siinä on vain merkkejä, joihin olet määrittänyt.
  • Jäljellä olevat merkit on pehmustettu valkoisilla tiloilla, kun arvot tallennetaan "char" -kenttiin, kun taas "varchar" ei lisää ylimääräisiä tiloja, kun annat vähemmän tietoja kuin määritetty pituus.