Différence entre Char et Varchar

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

Qu'est-ce que Char?

Char est un type de données de longueur fixe utilisé pour stocker des caractères non-Unicode, d'où son nom (abréviation de caractère). Il occupe un octet d'espace pour chaque caractère qui est codé sous forme de nombre - ceux du codage 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, en fonction de la taille de l'architecture, peut également être non signé, contenant des valeurs comprises entre 0 et 255. Lorsque les valeurs de caractère sont stockées, elles sont complétées à droite avec des espaces à la longueur spécifiée. . 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 stockiez 1 caractère ou 7 caractères, ce qui signifie que vous pouvez stocker 7 caractères maximum dans la colonne..

Qu'est-ce que Varchar??

Varchar, comme son nom l'indique, est un type de données de longueur variable pouvant contenir tout 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, en fonction de la base de données. Il peut être défini soit dans les langages de programmation, soit au niveau de la base de données. La taille du champ varchar peut être comprise entre zéro et la longueur maximale déclarée du champ..

Pour déclarer un caractère variable, le mot clé 'varchar' est utilisé. Varchar prend un espace variable, ce qui signifie qu'il utilisera uniquement le nombre d'octets égal au nombre de caractères. Cela aide à éviter le gaspillage d'espace car il n'utilise que 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 supprimé automatiquement de la base de données..

Par exemple, si vous déclarez une variable de varchar (10), elle utilisera un 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, tandis que 'Varchar' est un type de données de longueur variable 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 saisies, pas la taille maximale de cette colonne..

  1. Entrées de données

Vous pouvez utiliser char lorsque les entrées de données d'une colonne doivent avoir la même taille, tandis que varchar peut être utilisé lorsque la taille des entrées de données d'une colonne doit varier..

  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 longueur de la variable varchar est comprise entre 0 et 65 535..

  1. Application

Les entrées de données sont cohérentes dans le caractère qui est utilisé pour stocker des données telles que les numéros de téléphone, alors que varchar est utilisé pour stocker des données variables telles que des adresses.

Char vs. Varchar

Carboniser Varchar
Utilisé pour stocker une 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 chiffres.
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 entrées, pas à la taille maximale de la colonne..

Résumé

  • 'Char' et 'Varchar' sont tous deux des types de données dans les langages de programmation et les systèmes de base de données qui partagent certaines caractéristiques communes 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 en fait référence à caractère, varchar fait référence à caractère variable. Comme son nom l'indique, char est un type de données de longueur fixe alors que varchar est un type de données de longueur variable..
  • Char prend jusqu'à 1 octet par caractère, tandis que varchar nécessite également 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 complété par des blancs. Varchar, en revanche, est de longueur variable, il ne contient donc que les caractères que vous lui affectez..
  • Les caractères restants sont remplis d'espaces blancs lorsque les valeurs sont stockées dans des champs 'char', alors que 'varchar' n'ajoute pas d'espaces supplémentaires lorsque vous fournissez moins de données que la longueur spécifiée..