यदि आप पहले से ही जानते हैं कि केवल कुछ मानों की आवश्यकता है तो सबसे अच्छा समाधान ENUM डेटा प्रकारों का उपयोग करना है। ENUM अधिक प्रतिबंधात्मक है।
यदि आप मान के बारे में नहीं जानते हैं, तो आपको TINYINT UNSIGNED डेटा प्रकार का उपयोग करने की आवश्यकता है। TINYINT UNSIGNED कम प्रतिबंधात्मक है।
यदि आप केवल 10,20,30 स्टोर करना चाहते हैं, तो हम ENUM डेटा प्रकार को लागू करते हैं। निम्नलिखित प्रश्न है -
mysql> तालिका बनाएं DemoTable (Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Number ENUM('10','20','30') );क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.24 सेकंड)
इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें -
mysql> डेमोटेबल (संख्या) मान ('10') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.07 सेकंड) mysql> डेमोटेबल (संख्या) मान ('20') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित ( 0.06 सेकंड) mysql> डेमोटेबल (संख्या) मान ('30') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.06 सेकंड) mysql> डेमोटेबल (संख्या) मान ('50') में डालें; त्रुटि 1265 (01000):डेटा पंक्ति 1 पर कॉलम 'नंबर' के लिए छोटा किया गया
चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें -
mysql> डेमोटेबल से *चुनें;
यह निम्नलिखित आउटपुट उत्पन्न करेगा -
<पूर्व>+-----+--------+| आईडी | नंबर |+----+----------+| 1 | 10 || 2 | 20 || 3 | 30 |+----+-----------+3 पंक्तियाँ सेट में (0.00 सेकंड)यहाँ TINYINT UNSIGNED का कार्यान्वयन है। आइए एक नई तालिका बनाएं -
mysql> टेबल बनाएं डेमोटेबल (आईडी नॉट न्यूल ऑटो_इनक्रिमेंट प्राइमरी की, नंबर टिनींट अहस्ताक्षरित);क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.23 सेकंड)
इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें -
mysql> डेमोटेबल (संख्या) मान (100) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.07 सेकंड) mysql> डेमोटेबल (संख्या) मान (50) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.17 सेकंड) mysql> डेमोटेबल (संख्या) मान (60) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.06 सेकंड) mysql> डेमोटेबल (संख्या) मान (70) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.07 सेकंड)
चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें -
mysql> डेमोटेबल से *चुनें;
यह निम्नलिखित आउटपुट उत्पन्न करेगा -
<पूर्व>+-----+--------+| आईडी | नंबर |+----+----------+| 1 | 100 || 2 | 50 || 3 | 60 || 4 | 70 |+----+-----------+4 पंक्तियाँ सेट में (0.00 सेकंड)