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

केवल MySQL फ़ील्ड को अपडेट करें यदि फ़ील्ड में शून्य या 0 है?

<घंटा/>

इसके लिए MySQL IF() का उपयोग करके शर्तें सेट करें। आइए पहले एक टेबल बनाएं -

mysql> टेबल बनाएं DemoTable1592 -> ( -> StudentMarks int -> );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.76 सेकंड)

इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें -

mysql> DemoTable1592 मान (56) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.14 सेकंड) mysql> DemoTable1592 मान (NULL) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.12 सेकंड) mysql> DemoTable1592 मानों में डालें ( 98);क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.14 सेकंड)mysql> DemoTable1592 मानों में सम्मिलित करें (0); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.10 सेकंड) mysql> DemoTable1592 मानों में सम्मिलित करें (75); क्वेरी ठीक है, 1 पंक्ति प्रभावित ( 0.17 सेकंड)mysql> DemoTable1592 मान (NULL) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.11 सेकंड)

चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें -

mysql> DemoTable1592 से * चुनें;

यह निम्नलिखित आउटपुट देगा -

<पूर्व>+--------------+| स्टूडेंटमार्क्स |+--------------+| 56 || शून्य || 98 || 0 || 75 || NULL |+--------------+6 पंक्तियों में सेट (0.00 सेकंड)

यहां केवल फ़ील्ड को अपडेट करने की क्वेरी है यदि इसमें शून्य या 0 है -

mysql> अपडेट DemoTable1592 set StudentMarks=if(StudentMarks IS NULL or StudentMarks=0,33,StudentMarks);क्वेरी ठीक है, 3 पंक्तियाँ प्रभावित (0.17 सेकंड)पंक्तियाँ मिलान:6 परिवर्तित:3 चेतावनियाँ:0

आइए एक बार फिर से टेबल रिकॉर्ड देखें -

mysql> DemoTable1592 से * चुनें;

यह निम्नलिखित आउटपुट देगा -

<पूर्व>+--------------+| स्टूडेंटमार्क्स |+--------------+| 56 || 33 || 98 || 33 || 75 || 33 |+--------------+6 पंक्तियाँ सेट में (0.00 सेकंड)
  1. तालिका में सभी फ़ील्ड को MySQL के साथ शून्य या गैर-शून्य मानों के साथ अपडेट करें

    आइए पहले एक टेबल बनाएं - );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.58 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डेमोटेबल मानों में डालें (नल, नल); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.15 सेकंड) चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें - डेमोटेबल से * चुनें; यह

  1. MySQL क्वेरी NULL के स्थान पर केवल एक फ़ील्ड को अपडेट करने के लिए

    इसके लिए आप COALESCE() का इस्तेमाल कर सकते हैं। आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable1805 (Name1 varchar(20), Name2 varchar(20));क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.00 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable1805 मानों में डालें (NULL, माइक); क्वेरी ठीक है,

  1. MySQL:ग्रुप बाय के साथ फ़ील्ड अपडेट करें?

    GROUP BY के साथ फ़ील्ड को अपडेट करने के लिए, UPDATE कमांड के साथ ORDER BY LIMIT का उपयोग करें - );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.61 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डेमोटेबल2018(कर्मचारी नाम, कर्मचारी वेतन) मान (क्रिस, 25400) में डालें; क्वेरी ठीक है, 1 पंक्ति प