Unterschied zwischen char und varchar

Unterschied zwischen char und varchar

Beide sind Datentypen in vielen Programmiersprachen und Datenbanksystemen, in denen sich 'char' auf Zeichen und 'varchar' auf variable Zeichen bezieht. Char in c repräsentiert den Zeichentyp, der zum Speichern von Stringwerten verwendet wird, hauptsächlich von UTF-8 codierte Zeichen und Ganzzahlen. Varchar hingegen ist ein Datentyp, der Daten von jeder Art von unbestimmter Länge enthalten kann. Varchar bezieht sich auf einen Datentyp eines Feldes in einem Datenbankverwaltungssystem. Während beide Stringwerte bis zu einer maximalen Länge von 8.000 Zeichen speichern können, erfordert CHOL mehr Speicherplatz als Varchar. Technisch gesehen werden beide verwendet, um die gleichen Datenarten zu speichern, unterscheiden sich jedoch in der Art und Weise, wie sie gespeichert und abgerufen werden. Schauen wir uns ihre Detailunterschiede an.

Was ist Char?

CHAR ist ein Datentyp mit fester Länge, mit dem Nicht-Unicode-Zeichen gespeichert wird, daher der Name (kurz für Zeichen). Es nimmt ein Raum Byte für jedes Zeichen ein, die als Zahlen codiert werden - die aus der ASCII -Codierung. Der Char -Typ kann auch verwendet werden. Um eine Zeichenvariable zu deklarieren, wird das Schlüsselwort 'char' verwendet, was bedeutet, dass ein einzelnes Zeichen in einem Byte gespeichert wird.

Wie die Ganzzahltypen kann char signiert oder nicht signiert werden. Es kann signierte Zeichenwerte im Bereich von -128 bis 127 halten und je nach architektonischer Größe können auch nicht signiert werden, wobei die Werte von 0 bis 255 enthalten sein können. Wenn char-Werte gespeichert sind, sind sie rechts mit Räumen bis zur angegebenen Länge eingestellt. Die Hinterräume werden entfernt, wenn sie abgerufen werden.

Zum Beispiel: Wenn Sie eine Variable des Char -(7) -Patentyps deklarieren, werden immer 7 Bytes Daten benötigt, unabhängig davon, ob Sie 1 Zeichen oder 7 Zeichen speichern, was bedeutet.

Was ist Varchar?

Varchar ist, wie der Name schon sagt. Varchar -Feld kann je nach Datenbank Werte einer beliebigen Größe bis zu einer bestimmten Grenze speichern. Es kann entweder in Programmiersprachen oder auf Datenbankebene definiert werden. Die Größe des Varchar -Feldes kann von Null bis zur maximal deklarierten Feldlänge sein.

Um ein variables Zeichen zu deklarieren, wird das Schlüsselwort "varchar" verwendet. Varchar nimmt einen variablen Platz ein, was bedeutet, dass nur die Anzahl der Bytes verwendet wird, die der Anzahl der Zeichen entspricht. Es hilft bei der Vermeidung von Raumverschwendung. In einigen Programmiersprachen und Datenbanksystemen wird jeder zusätzliche Speicherplatz automatisch aus der Datenbank entfernt.

Beispiel: Wenn Sie eine Variable von VARCHAR (10) deklarieren, wird die Anzahl der Bytes entspricht der Anzahl der Zeichen verwendet. Wenn Sie also nur einen Charakter speichern, dauert es nur ein Byte. Wenn Sie 10 Zeichen speichern, wird 10 Bytes benötigt, wodurch die Verschwendung des Datenbankraums vermieden wird.

Unterschied zwischen char und varchar

  1. Datentyp

'Char' ist ein Datentyp mit fester Länge, der zum Speichern des Zeichenzeichenfolgewerts der festen Länge verwendet wird, während 'varchar' ein Datentyp mit variabler Länge ist, der zum Speichern alphanumerischer Daten variabler Länge verwendet wird.

  1. Speichergröße

Die Speichergröße des Zeichenwerts entspricht der maximalen Größe dieser Spalte, die Sie beim Erstellen der Tabelle deklarieren. Andererseits ist die Speichergröße des VARCHAR -Wertes die tatsächliche Länge der eingegebenen Daten, nicht die maximale Größe für diese Spalte.

  1. Dateneinträge

Sie können char verwenden, wenn die Dateneinträge in einer Spalte gleich groß sind, während im Gegenteil VARCHAR verwendet werden kann, wenn die Dateneinträge in einer Spalte in der Größe variieren sollen.

  1. Speicherzuweisung

Char verwendet eine statische Speicherzuweisung, während Varchar die dynamische Speicherzuweisung verwendet

  1. Länge

Die Länge einer Zeichenvariablen kann von 0 bis 255 von jedem Wert liegen, während die Länge der Varchar -Variablen von 0 bis 65.535 liegt.

  1. Anwendung

Dateneinträge sind in char konsistent, das zum Speichern von Daten wie Telefonnummern verwendet wird, während VARCHAR zum Speichern unterschiedlicher Daten wie Adressen verwendet wird.

Char vs. Varchar

Verkohlen Varchar
Wird verwendet, um den Zeichenzeichenfolge Wert der festen Länge zu speichern. Wird verwendet, um alphanumerische Daten mit variabler Länge zu speichern.
Die Länge variiert von 0 bis 255. Die Länge variiert von 0 bis 65.535.
Nimmt 1 Byte pro Charakter zur Speicherung. Nimmt 1 Byte pro Charakter plus 1 oder 2 zusätzliche Bytes zum Speichern von Längeninformationen.
Die Speichergröße von char ist die gleiche wie deklariert. Die Speichergröße von Varchar hängt von der spezifischen gespeicherten Zeichenfolge ab.
Verwendet die statische Speicherzuweisung. Verwendet die dynamische Speicherzuweisung.
Char sollte verwendet werden, wenn die Länge der Variablen bekannt ist. Varchar sollte nur verwendet werden, wenn die Länge der Variablen nicht bekannt ist.
Es akzeptiert nur Charaktere. Es akzeptiert sowohl Zeichen als auch Zahlen.
Es ist 50 Prozent schneller als Varchar. Es ist langsamer als Char.
Die Speichergröße des Zeichenwerts entspricht der maximalen Größe für die Spalte. Die Speichergröße des VARCHAR -Wertes entspricht der tatsächlichen Länge der eingegebenen Daten, nicht der maximalen Größe für die Spalte.

Zusammenfassung

  • Sowohl "char" als auch "varchar" sind Datentypen in Programmiersprachen und Datenbanksystemen, die einige gemeinsame Merkmale in Bezug auf Funktionalität und Technik teilen. Sie unterscheiden sich jedoch erheblich, wie sie gespeichert und abgerufen werden.
  • Während char sich tatsächlich auf den Charakter bezieht, bezieht sich Varchar auf das variable Zeichen. Wie der Name schon sagt, ist CHAR ein Datentyp mit fester Länge, während Varchar ein Datentyp variabler Länge ist.
  • Char nimmt bis zu 1 Byte pro Zeichen, während Varchar auch bis zu 1 Byte pro Zeichen plus zusätzliche 1 oder 2 Bytes nimmt, um Länge Informationen zu speichern. Für char variiert die Länge von 0 bis 255 und für Varchar, sie kann zwischen 0 und 65.535 sein.
  • Als char ist feste Länge, jeder verbleibende Platz im Feld ist mit Lücken gepolstert. Varchar hingegen ist variabler Länge, sodass es nur die Zeichen enthält, die Sie ihm zuweisen.
  • Die verbleibenden Zeichen werden mit weißen Räumen gepolstert, wenn die Werte in "char" Feldern gespeichert werden, während "VARCHAR" keine zusätzlichen Räume hinzufügt, wenn Sie weniger Daten als angegebene Länge bereitstellen.