समाधान: CHAR(6) बिना # प्रतीक के
CSS हेक्साडेसिमल रंग मान (जैसे #FF0000) को MySQL में संग्रहीत करने के लिए, # प्रतीक के बिना 6-वर्ण CHAR कॉलम का उपयोग करें।
टेबल परिभाषा
CREATE TABLE storeCSSColorDemo (
CSSValue CHAR(6)
);
व्यावहारिक उदाहरण
रंग मान डालना
mysql> INSERT INTO storeCSSColorDemo VALUES
-> ('FF0000'), -- लाल
-> ('FFA500'), -- नारंगी
-> ('FFFF00'); -- पीला
संग्रहीत डेटा
mysql> SELECT * FROM storeCSSColorDemo;
+----------+
| CSSValue |
+----------+
| FF0000 |
| FFA500 |
| FFFF00 |
+----------+
रंग मान संदर्भ
| हेक्स | रंग | RGB |
| FF0000 | लाल (Red) | rgb(255,0,0) |
| FFA500 | नारंगी (Orange) | rgb(255,165,0) |
| FFFF00 | पीला (Yellow) | rgb(255,255,0) |
| 00FF00 | हरा (Green) | rgb(0,255,0) |
| 0000FF | नीला (Blue) | rgb(0,0,255) |
| FFFFFF | सफेद (White) | rgb(255,255,255) |
| 000000 | काला (Black) | rgb(0,0,0) |
डेटा प्रकार विकल्प
| प्रकार | लंबाई | उपयोग मामला | नोट |
| CHAR(6) | निश्चित 6 | हेक्स RGB (# के बिना) | सबसे कुशल |
| CHAR(7) | निश्चित 7 | हेक्स RGB (# के साथ) | #FF0000 |
| VARCHAR(7) | चर | NULLable, # वैकल्पिक | लचीला |
| INT UNSIGNED | 4 बाइट्स | संख्यात्मक RGB | 0xFF0000 = 16711680 |
एप्लिकेशन में उपयोग
PHP में पूर्ण CSS रंग बनाना
$row = $pdo->query("SELECT CSSValue FROM storeCSSColorDemo")->fetch();
$cssColor = '#' . $row['CSSValue']; // #FF0000
echo "Red Text
";
MySQL में खोज/फ़िल्टर
-- लाल रंग ढूंढना
SELECT * FROM storeCSSColorDemo WHERE CSSValue = 'FF0000';
-- चमकीले रंग (उच्च लाल घटक)
SELECT * FROM storeCSSColorDemo WHERE CSSValue LIKE 'F_____';
सर्वोत्तम अभ्यास
- हमेशा # के बिना संग्रहीत करें (स्थान बचाता है, तुलना सरल)
- एप्लिकेशन स्तर पर # जोड़ें/हटाएं
- सत्यापन: INSERT/UPDATE ट्रिगर में REGEXP '^[0-9A-F]{6}$' जोड़ें
- अल्फा चैनल (8 अंक) के लिए: CHAR(8) या VARCHAR(9)
नोट: NULLable कॉलम
NOTE यदि आपका कॉलम NULLable है तो VARCHAR(6) का उपयोग करें।