Char at Varchar

Anonim

Parehong mga uri ng data sa maraming mga programming language at database system kung saan ang 'char' ay tumutukoy sa character at 'varchar' ay tumutukoy sa variable na character. Ang Char in C ay kumakatawan sa uri ng character na ginagamit upang mag-imbak ng mga halaga ng string, karamihan sa mga naka-encode na UTF-8 at integer. Ang Varchar, sa kabilang banda, ay isang uri ng data na maaaring maglaman ng data ng anumang uri ng walang katapusang haba. Ang Varchar ay tumutukoy sa isang uri ng data ng isang patlang sa isang sistema ng pamamahala ng database. Habang pareho silang maaaring mag-imbak ng mga halaga ng string hanggang sa isang maximum na haba ng 8,000 na mga character, ang char ay nangangailangan ng mas maraming imbakan kaysa sa varchar. Technically, pareho silang ginagamit upang mag-imbak ng mga parehong uri ng data ngunit naiiba ang mga ito sa paraan na sila ay naka-imbak at nakuha. Tingnan natin ang kanilang pagkakaiba sa detalye.

Ano ang Char?

Ang char ay isang uri ng fixed-length na data na ginagamit upang mag-imbak ng mga character na di-Unicode, kaya ang pangalan (maikli para sa character). Ito ay sumasakop sa isang byte ng espasyo para sa bawat karakter na naka-encode bilang mga numero - ang mga mula sa encoding ASCII. Ang pansamantalang uri ng uri ay maaari ring gamitin upang ipahayag ang mga maliliit na integer. Upang idedeklara ang variable ng character, ang keyword na 'char' ay ginagamit, na nangangahulugang isang solong character na nakaimbak sa isang byte.

Tulad ng mga uri ng integer, ang char ay maaaring lagdaan o hindi linagdaan. Maaaring i-hold ang mga naka-sign na halaga ng char mula -128 hanggang 127 at depende sa laki ng arkitektura, maaari rin itong hindi linagdaan, na may hawak na mga halaga mula sa 0 hanggang 255. Kapag ang mga halaga ng char ay naka-imbak, ang mga ito ay may tapat na may mga espasyo sa tinukoy na haba. Ang mga sumusunod na puwang ay aalisin kapag sila ay nakuha.

Halimbawa - kung nagpapahayag ka ng variable ng char (7) na uri ng data, pagkatapos ay laging kukuha ng 7 bytes ng data kahit na nagtatago ka ng 1 character o 7 na character, na nangangahulugan na maaari kang mag-imbak ng maximum ng 7 character sa haligi.

Ano ang Varchar?

Ang Varchar, gaya ng nagmumungkahi ang pangalan, ay isang uri ng variable na haba ng datos na maaaring maglaman ng anumang uri ng data na may haba na nagkakaiba mula 0 hanggang 65,535. Ang Varchar field ay maaaring mag-imbak ng mga halaga ng anumang laki hanggang sa isang tiyak na limitasyon, depende sa database. Maaari itong tukuyin alinman sa mga programming language o sa antas ng database. Ang laki ng patlang ng varchar ay maaaring maging anumang bagay mula sa zero hanggang sa maximum na ipinahayag na haba ng field.

Upang ipahayag ang isang variable na character, ang keyword na 'varchar' ay ginagamit. Varchar ay tumatagal ng isang variable na espasyo, na nangangahulugang magagamit lamang nito ang bilang ng mga byte na katumbas ng bilang ng mga character. Nakakatulong ito sa pag-iwas sa pag-aaksaya ng espasyo dahil ginagamit lamang nito ang puwang na kinakailangan para sa laki ng string. Sa ilang mga programming language at database system, ang anumang dagdag na espasyo ay awtomatikong inaalis mula sa database.

Halimbawa - kung nagpapahayag ka ng variable ng varchar (10), gagamitin nito ang bilang ng mga byte na katumbas ng bilang ng mga character. Kaya, kung nagtataglay ka lamang ng isang character, magkakaroon lamang ng isang byte at kung nagtatabi ka ng 10 character, aabutin ng 10 bytes, kaya pag-iwas sa pag-aaksaya ng database space.

Pagkakaiba sa pagitan ng Char at Varchar

  1. Uri ng datos

Ang 'Char' ay isang uri ng fixed-length na data na ginagamit upang mag-imbak ng character string na halaga ng takdang haba, samantalang ang 'Varchar' ay isang uri ng variable na haba ng datos na ginagamit upang mag-imbak ng variable na alphanumeric na haba ng variable.

  1. Laki ng Imbakan

Ang laki ng imbakan ng halaga ng character ay katumbas ng maximum na laki ng hanay na ito na ipinahayag mo habang lumilikha ng talahanayan. Sa kabilang banda, ang laki ng imbakan ng halaga ng varchar ay ang aktwal na haba ng data na ipinasok, hindi ang maximum na laki para sa hanay na ito.

  1. Mga Entry ng Data

Maaari mong gamitin ang pansamantalang trabaho kapag ang mga entry sa data sa isang haligi ay inaasahang magkakaparehong sukat, habang sa kabaligtaran, maaaring gamitin ang varchar kapag ang mga entry sa data sa isang hanay ay inaasahan na mag-iba-iba sa laki.

  1. Allocation ng Memory

Ang Char ay gumagamit ng static na paglalaan ng memory habang ang varchar ay gumagamit ng dynamic na paglalaan ng memorya

  1. Haba

Ang haba ng char variable ay maaaring maging ng anumang halaga mula 0 hanggang 255, habang ang haba ng variable ng varchar ay umaabot sa 0 hanggang 65,535.

  1. Application

Ang mga entry sa data ay pare-pareho sa char na ginagamit para sa pagtatago ng data tulad ng mga numero ng telepono, samantalang ang varchar ay ginagamit para sa pag-iimbak ng iba't ibang data tulad ng mga address.

Char vs Varchar

Char Varchar
Ginagamit upang mag-imbak ng halaga ng character ng string ng takdang haba. Ginagamit upang mag-imbak ng alphanumeric na data ng haba ng variable.
Ang haba ay nag-iiba mula 0 hanggang 255. Ang haba ay nag-iiba mula 0 hanggang 65,535.
Dadalhin 1 byte bawat karakter para sa imbakan. Dadalhin 1 byte bawat karakter plus 1 o 2 dagdag na byte para sa pagtatago ng impormasyon sa haba.
Ang laki ng imbakan ng char ay kapareho ng ipinahayag. Ang laki ng imbakan ng varchar ay depende sa tiyak na string na nakaimbak.
Gumagamit ng static na paglalaan ng memorya. Gumagamit ng dynamic na paglalaan ng memorya.
Dapat gamitin ang char kapag nakilala ang haba ng variable. Dapat gamitin lamang ang Varchar kapag ang haba ng variable ay hindi kilala.
Tinatanggap lamang nito ang mga character. Tinatanggap nito ang parehong mga character at numero.
Ito ay 50 porsiyento na mas mabilis kaysa kay Varchar. Mas mabagal ito kay Char.
Ang laki ng imbakan ng halaga ng char ay katumbas ng maximum na laki para sa haligi. Ang laki ng imbakan ng halaga ng varchar ay katumbas ng aktwal na haba ng data na ipinasok, hindi ang maximum na laki para sa haligi.

Buod

  • Ang parehong 'Char' at 'Varchar' ay mga uri ng data sa mga programming language at database system na nagbabahagi ng ilang mga karaniwang katangian sa mga tuntunin ng pag-andar at teknikalidad. Gayunpaman, magkakaiba ang mga ito tulad ng paraan na sila ay naka-imbak at nakuha.
  • Habang ang char aktwal na tumutukoy sa character, varchar ay tumutukoy sa variable na character. Bilang nagmumungkahi ang pangalan, ang char ay isang uri ng fixed-length na data habang ang varchar ay isang uri ng variable na haba ng data.
  • Ang Char tumatagal ng hanggang 1 byte bawat karakter, samantalang ang varchar ay tumatagal ng hanggang 1 byte kada karakter plus dagdag na 1 o 2 byte upang mag-imbak ng impormasyon sa haba. Para sa char, ang haba ay nag-iiba mula 0 hanggang 255 at para sa varchar, maaari itong maging anumang bagay sa pagitan ng 0 at 65,535.
  • Tulad ng char ay fixed-length, ang anumang natitirang espasyo sa patlang ay may palaman na may blangko. Ang Varchar, sa kabilang banda, ay variable-length kaya pinanghahawakan lamang ang mga character na itinakda mo dito.
  • Ang natitirang mga character ay may palaman na may puting mga puwang kapag ang mga halaga ay naka-imbak sa mga patlang ng 'char', samantalang ang 'varchar' ay hindi magdagdag ng mga dagdag na espasyo kapag nagbibigay ka ng mas kaunting data kaysa sa tinukoy na haba.