BLOB और Binary Types
column_name BLOB
column_name VARBINARY(max_length)
BLOB Types
BLOB (Binary Large Object) variable size का raw binary data store करता है — images, audio clips, encrypted payloads — एक opaque byte sequence की तरह जिसे MySQL interpret या validate करने की कोशिश नहीं करता।
उदाहरण: BLOB Types
CREATE TABLE files (id INT, content BLOB);
VARBINARY Type
VARBINARY VARCHAR का binary counterpart है: यह text के बजाय exact byte sequences store करता है, जो इसे बड़ी files के बजाय hashes या tokens जैसी छोटी, fixed-format binary values के लिए सही fit बनाता है।
उदाहरण: VARBINARY Type
CREATE TABLE tokens (hash VARBINARY(64));
BLOB Sizes
MySQL चार BLOB sizes offer करता है — TINYBLOB, BLOB, MEDIUMBLOB, और LONGBLOB — जो सिर्फ अपनी maximum storage capacity में अलग हैं, इसलिए आप realistically store करने की उम्मीद करने वाले सबसे बड़े file size के आधार पर चुनते हैं।
उदाहरण: BLOB Sizes
CREATE TABLE uploads (
thumbnail TINYBLOB,
photo BLOB,
video MEDIUMBLOB,
archive LONGBLOB
);
BLOB Data Retrieve करना
क्योंकि BLOB data human-readable नहीं है, HEX() जैसे functions आपको इसकी raw bytes को एक hexadecimal string की तरह inspect करने देते हैं, जो अक्सर किसी query result से binary content देखने का इकलौता practical तरीका है।
उदाहरण: Retrieving BLOB Data
CREATE TABLE files (content BLOB);
INSERT INTO files VALUES (0x48656C6C6F);
SELECT HEX(content) FROM files;
BLOB Restrictions
BLOB columns की कोई DEFAULT value नहीं हो सकती, और एक को index करने के लिए एक prefix length specify करना ज़रूरी है (सिर्फ पहले N bytes index करना) क्योंकि पूरे बड़े binary object को सीधे index करना support नहीं है।
उदाहरण: BLOB Restrictions
-- BLOB columns cannot have a DEFAULT value
CREATE TABLE files (content BLOB, INDEX idx_content (content(100)));
- बड़े images या files को
BLOBcolumns में store करना और database को धीमा करना, जबकि file path अक्सर बेहतर है। - कई rows पर
SELECT *से एकBLOBcolumn select करना, जो बहुत सारा data transfer करता है। - size 64 KB से ज़्यादा हो सकने पर
BLOBचुनना, जबMEDIUMBLOBयाLONGBLOBचाहिए।
Chapter Quiz — Complete all 8 topics to unlock
0/8 topics done
Complete these topics first: