Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में CSS रंग मान संग्रहीत करना - CHAR(6) का उपयोग हेक्साडेसिमल के लिए

समाधान: 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 UNSIGNED4 बाइट्ससंख्यात्मक RGB0xFF0000 = 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) का उपयोग करें।
  1. - MySQL में कॉमा-सेपरेटेड मानों वाली टेबल के भीतर खोज कैसे करें

    कॉमा-सेपरेटेड मानों वाली टेबल के भीतर खोज करने के लिए LIKE ऑपरेटर का उपयोग करें। पहले एक टेबल बनाते हैं: mysql> create table DemoTable675(Value text); Query OK, 0 rows affected (0.55 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable675 values(10,56,49484

  1. - MySQL WHERE क्लॉज में OR ऑपरेटर का उपयोग करके एकाधिक मान कैसे प्राप्त करें?

    MySQL में OR ऑपरेटर के साथ एकाधिक शर्तें MySQL में WHERE क्लॉज के साथ OR ऑपरेटर का उपयोग करके आप एक ही क्वेरी में कई अलग-अलग शर्तों के आधार पर रिकॉर्ड्स प्राप्त कर सकते हैं। उदाहरण: कर्मचारी टेबल से डेटा प्राप्त करना पहले एक कर्मचारी टेबल बनाते हैं: SELECT * FROM DemoTable1421; +------------+-----

  1. - क्या MySQL में ऑटो_इन्क्रीमेंट मान निर्दिष्ट किए बिना रिकॉर्ड डाल सकते हैं?

    हाँ, बिल्कुल। MySQL में AUTO_INCREMENT कॉलम के लिए मान निर्दिष्ट करना वैकल्पिक है। जब आप INSERT स्टेटमेंट में उस कॉलम को छोड़ देते हैं या NULL/0 पास करते हैं, तो MySQL स्वचालित रूप से अगला अनुक्रमिक मान जनरेट करता है। सिंटैक्स विकल्प -- विकल्प 1: कॉलम सूची में ऑटो_इन्क्रीमेंट कॉलम को छोड़ दें INSER