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.
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..
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..
'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.
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..
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..
Char utilise l'allocation de mémoire statique tandis que varchar utilise l'allocation de mémoire dynamique
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..
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.
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.. |