la différence est dite dans le nom deja l'un est variable et l'autre pas..
- le char a une longueur fixé et à chaque fois qu'on stock une donnée il réserve la taille indiquée,
exemple : si je déclare char ( 100) , à chaque fois que je stock un caractère de 12 il resèrve 100 caractère
- par contre le varchar a une longueur variable selon la taille de donnée introduite
exemple : si je déclare varchar(100) et que je stock un caractère de 12 il resèrve que 12 caratère
l'utilisation du varchar a l'avantage d'économiser l'espace mémoire.

.