String Data Types
column_name CHAR(length)
column_name VARCHAR(max_length)
column_name TEXT
CHAR बनाम VARCHAR
CHAR हमेशा प्रति row same fixed संख्या में bytes reserve करता है और छोटी values को spaces से pad करता है, जबकि VARCHAR सिर्फ उतना space इस्तेमाल करता है जितना actual string को चाहिए — VARCHAR names, emails, और दूसरे variable-length text के लिए बेहतर default है।
उदाहरण: CHAR vs VARCHAR
CREATE TABLE users (
code CHAR(5),
name VARCHAR(50)
);
TEXT Type
TEXT columns articles या product descriptions जैसे बड़े, unbounded blocks of content के लिए बने हैं, और VARCHAR के उलट वे main row data से अलग stored होते हैं, जो affect करता है कि आप उन्हें कितनी efficiently index कर सकते हैं।
उदाहरण: TEXT Type
CREATE TABLE articles (
title VARCHAR(100),
body TEXT
);
String Length Functions
CHAR_LENGTH() और LENGTH() जैसे functions क्रमशः characters बनाम bytes में एक string का size report करते हैं — वे emoji जैसे multi-byte Unicode characters शामिल होते ही अलग हो जाते हैं।
उदाहरण: String Length Functions
SELECT CHAR_LENGTH('café') AS chars, LENGTH('café') AS bytes;
Binary Strings
BINARY और VARBINARY human-readable text के बजाय raw byte sequences store करते हैं, जो उन्हें ordinary strings के बजाय hashes, encrypted blobs, या fixed-format binary identifiers के लिए उपयुक्त बनाता है।
उदाहरण: Binary Strings
CREATE TABLE files (
hash BINARY(32),
data VARBINARY(255)
);
String Collation
Collation settings control करती हैं कि string comparisons apple और Apple को equal या distinct treat करें या नहीं, और sorting locale-specific alphabetical rules follow करे या नहीं — इसे गलत करें तो search features टूटे हुए महसूस हो सकते हैं।
उदाहरण: String Collation
CREATE TABLE names (name VARCHAR(50)) COLLATE utf8mb4_general_ci;
- variable-length text के लिए
CHARइस्तेमाल करना और यह सोचना कि values pad क्यों होती हैं, जबकिVARCHARसिर्फ actual length store करता है। VARCHAR(50)set करना और एक लंबी value insert करना, जो strict mode में इसे store करने के बजाय error देता है।- accents या emoji वाले text पर
LENGTH()इस्तेमाल करना और characters की उम्मीद करना, जबकि यह bytes return करता है औरCHAR_LENGTH()characters count करता है।
Chapter Quiz — Complete all 8 topics to unlock
0/8 topics done
Complete these topics first: