Différence entre Char et Varchar Différence Entre

Anonim

Les deux sont des types de données dans de nombreux langages de programmation et systèmes de bases de données où 'char' fait référence au caractère et 'varchar' fait référence au caractère variable. Char in C représente le type de caractère utilisé pour stocker les valeurs de chaîne, principalement des caractères codés en UTF-8 et des entiers. Varchar, d'autre part, est un type de données qui peut contenir des données de n'importe quel type de longueur indéterminée. Varchar fait référence à un type de données d'un champ dans un système de gestion de base de données. Bien qu'ils puissent tous deux stocker des valeurs de chaîne d'une longueur maximale de 8 000 caractères, char nécessite plus de stockage que varchar. Techniquement, ils sont tous deux utilisés pour stocker les mêmes types de données, mais ils diffèrent dans la façon dont ils sont stockés et récupérés. Jetons un coup d'oeil à leurs différences en détail.

Qu'est-ce que Char?

Char est un type de données de longueur fixe qui est utilisé pour stocker des caractères non-Unicode, d'où le nom (abréviation de caractère). Il occupe un octet d'espace pour chaque caractère codé sous forme de nombres - ceux de l'encodage ASCII. Le type char peut également être utilisé pour déclarer de petits entiers. Pour déclarer une variable de caractère, le mot clé 'char' est utilisé, ce qui signifie qu'un seul caractère est stocké dans un octet.

Comme les types entiers, char peut être signé ou non signé. Il peut contenir des valeurs de caractères signés allant de -128 à 127 et, selon la taille de l'architecture, il peut également être non signé, en maintenant des valeurs comprises entre 0 et 255. Lorsque les valeurs sont stockées, elles sont remplies à droite. Les espaces de fin sont supprimés lorsqu'ils sont récupérés.

Par exemple - si vous déclarez une variable de type de données char (7), il faudra toujours 7 octets de données, que vous ayez 1 caractère ou 7 caractères, ce qui signifie que vous pouvez stocker au maximum 7 caractères la colonne.

Qu'est-ce que Varchar?

Varchar, comme son nom l'indique, est un type de données de longueur variable pouvant contenir n'importe quel type de données dont la longueur varie de 0 à 65, 535. Le champ Varchar peut stocker des valeurs de toute taille jusqu'à une certaine limite, selon sur la base de données. Il peut être défini dans les langages de programmation ou au niveau de la base de données. La taille du champ varchar peut être comprise entre zéro et la longueur de champ déclarée maximale.

Pour déclarer un caractère variable, le mot clé 'varchar' est utilisé. Varchar prend un espace variable, ce qui signifie qu'il n'utilisera que le nombre d'octets égal au nombre de caractères. Il aide à éviter le gaspillage d'espace car il utilise seulement l'espace requis pour la taille de la chaîne. Dans certains langages de programmation et systèmes de base de données, tout espace supplémentaire est automatiquement supprimé de la base de données.

Par exemple - si vous déclarez une variable de varchar (10), il utilisera le nombre d'octets égal au nombre de caractères.Donc, si vous ne stockez qu'un seul caractère, cela ne prendra qu'un octet et si vous stockez 10 caractères, cela prendra 10 octets, évitant ainsi le gaspillage de l'espace de la base de données.

Différence entre Char et Varchar

  1. Type de données

'Char' est un type de données de longueur fixe utilisé pour stocker une valeur de chaîne de caractères de longueur fixe, alors que 'Varchar' est un type de données de longueur variable est utilisé pour stocker des données alphanumériques de longueur variable.

  1. Taille de stockage

La taille de stockage de la valeur de caractère est égale à la taille maximale de cette colonne que vous déclarez lors de la création de la table. D'autre part, la taille de stockage de la valeur varchar est la longueur réelle des données entrées, pas la taille maximale de cette colonne.

  1. Entrées de données

Vous pouvez utiliser char quand les entrées de données dans une colonne doivent être de la même taille, alors qu'au contraire, varchar peut être utilisé lorsque les entrées de données d'une colonne doivent varier en taille.

  1. Allocation de mémoire

Char utilise l'allocation de mémoire statique tandis que varchar utilise l'allocation de mémoire dynamique

  1. Longueur

La longueur d'une variable char peut être comprise entre 0 et 255, tandis que la variable varchar 0 à 65, 535.

  1. Application

Les entrées de données sont cohérentes dans char qui est utilisé pour stocker des données comme des numéros de téléphone, tandis que varchar est utilisé pour stocker des données variables comme des adresses.

Char vs. Varchar

Char Varchar
Utilisé pour stocker la valeur de chaîne de caractères de longueur fixe. Utilisé pour stocker des données alphanumériques de longueur variable.
La longueur varie de 0 à 255. La longueur varie de 0 à 65, 535.
Prend 1 octet par caractère pour le stockage. Prend 1 octet par caractère plus 1 ou 2 octets supplémentaires pour stocker les informations de longueur.
La taille de stockage de char est la même que celle déclarée. La taille de stockage de varchar dépend de la chaîne spécifique stockée.
Utilise l'allocation de mémoire statique. Utilise l'allocation de mémoire dynamique.
Char devrait être utilisé lorsque la longueur de la variable est connue. Varchar doit être utilisé uniquement lorsque la longueur de la variable n'est pas connue.
Il n'accepte que les caractères. Il accepte les caractères et les nombres.
C'est 50% plus rapide que Varchar. C'est plus lent que Char.
La taille de stockage de la valeur char est égale à la taille maximale de la colonne. La taille de stockage de la valeur varchar est égale à la longueur réelle des données saisies, et non à la taille maximale de la colonne.

Résumé

  • "Char" et "Varchar" sont des types de données dans les langages de programmation et les systèmes de bases de données qui partagent certains traits communs en termes de fonctionnalité et de technicité. Cependant, ils diffèrent considérablement comme la façon dont ils sont stockés et récupérés.
  • Alors que char fait référence à un caractère, varchar fait référence à un caractère variable. Comme son nom l'indique, char est un type de données de longueur fixe tandis que varchar est un type de données de longueur variable.
  • Char prend jusqu'à 1 octet par caractère, tandis que varchar prend jusqu'à 1 octet par caractère plus 1 ou 2 octets supplémentaires pour stocker les informations de longueur.Pour char, la longueur varie de 0 à 255 et pour varchar, elle peut être comprise entre 0 et 65, 535.
  • Comme char est de longueur fixe, tout espace restant dans le champ est rempli avec des blancs. Varchar, d'autre part, est de longueur variable donc il ne contient que les caractères que vous lui attribuez.
  • Les caractères restants sont remplis avec des espaces blancs lorsque les valeurs sont stockées dans des champs 'char', tandis que 'varchar' n'ajoute pas d'espaces supplémentaires lorsque vous fournissez moins de données que la longueur spécifiée.