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

MySQL डेटा प्रकार int बनाम enum?

<घंटा/>

यदि आप पहले से ही जानते हैं कि केवल कुछ मानों की आवश्यकता है तो सबसे अच्छा समाधान 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 सेकंड)
  1. क्या SQL सर्वर के पास MySQL के ENUM डेटा प्रकार के बराबर है?

    यह MySQL संस्करण 8.0.12 में काम करता है। वाक्य रचना इस प्रकार है। create table yourTableName ( yourColumnName enum(‘Value1’,Value2’,Value3’,......N) default Value1’ or Value2 or Value3,..N ); निम्नलिखित क्वेरी के साथ MySQL में एनम प्रकार सेट करें। mysql> create tabl

  1. सी # में एनम

    Enum वर्ष, उत्पाद, महीने, मौसम आदि जैसे नामित स्थिरांक के एक सेट को संग्रहीत करने के लिए गणना है। Enum स्थिरांक का डिफ़ॉल्ट मान 0 और वेतन वृद्धि से प्रारंभ होता है। इसमें स्थिरांक का एक निश्चित सेट होता है और इसे आसानी से पार किया जा सकता है। आइए एक उदाहरण देखें। हमने इस तरह से एनम सेट किया है -

  1. SQL सर्वर में डेटा प्रकार

    SQL सर्वर में डेटा प्रकार (डेटा प्रकार) नीचे दिए गए हैं, जिनमें वर्ण स्ट्रिंग, संख्याएं और समय/तिथियां शामिल हैं। एसक्यूएल सर्वर में कैरेक्टर स्ट्रिंग डेटा प्रकार SQL सर्वर (Transact-SQL) में कैरेक्टर स्ट्रिंग डेटा के प्रकार नीचे दिए गए हैं। डेटा प्रकार सिंटैक्स अधिकतम आकार स्पष्टीकरण CHAR (kich_thu