CHAR और VARCHAR दोनों ASCII कैरेक्टर डेटा टाइप्स हैं और लगभग समान हैं लेकिन वे डेटाबेस से डेटा स्टोर करने और पुनर्प्राप्त करने के चरण में भिन्न हैं। MySQL में CHAR और VARCHAR के बीच कुछ महत्वपूर्ण अंतर निम्नलिखित हैं:
| CHAR Data Type | VARCHAR Data Type |
| इसका पूरा नाम CHARACTER है | इसका पूरा नाम VARIABLE CHARACTER है |
| यह मानों को निश्चित लंबाई में संग्रहीत करता है और निर्दिष्ट लंबाई से मेल खाने के लिए स्पेस कैरेक्टर्स से पैड किया जाता है | VARCHAR मानों को 1-बाइट या 2-बाइट लंबाई प्रीफिक्स के साथ परिवर्तनीय लंबाई में संग्रहीत करता है और किसी भी कैरेक्टर से पैड नहीं किया जाता |
| यह अधिकतम 255 कैरेक्टर रख सकता है | यह अधिकतम 65,535 कैरेक्टर रख सकता है |
यह स्टैटिक मेमोरी एलोकेशन का उपयोग करता है।mysql>create table emp(name CHAR(20)); Query OK, 0 rows affected (0.25 |
यह डायनामिक मेमोरी एलोकेशन का उपयोग करता है।mysql>create table emp1(name VARCHAR(20)); Query OK, 0 rows affected (0.21 |