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

संग्रहीत प्रक्रिया के साथ MySQL में पंक्ति मान को 1 से बढ़ाएँ और घटाएँ?

<घंटा/>

आइए पहले पंक्ति मान को 1 से बढ़ाने और घटाने के लिए एक तालिका बनाएं। निम्नलिखित क्वेरी है -

mysql> तालिका बनाएं IncrementAndDecrementValue −> ( −> UserId int, −> UserScores int −>);क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.60 सेकंड)

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

mysql> IncrementAndDecrementValue मानों (101,20000) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.13 सेकंड) mysql> IncrementAndDecrementValue मानों (102,30000) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.20 सेकंड) mysql> सम्मिलित करें IncrementAndDecrementValue (103,400000); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.11 सेकंड)

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

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

निम्न आउटपुट है -

<पूर्व>+----------+---------------+| उपयोगकर्ता आईडी | UserScores |+-----------+---------------+| 101 | 20000 || 102 | 30000 || 103 | 40000 |+--------+------------+3 पंक्तियाँ सेट में (0.00 सेकंड)

पंक्ति मान को 1 से बढ़ाने और घटाने के लिए मेरी संग्रहीत कार्यविधि यहां दी गई है।

mysql> delimiter //mysql> क्रिएट प्रोसीजर IncrementAndDecrementRowValueByOne() −> start −> पहले int घोषित करें; −> दूसरा इंट घोषित करें; −> पहले सेट करें =(IncrementAndDecrementValue से UserScores चुनें जहां UserId =101); −> दूसरा सेट करें =(IncrementAndDecrementValue से UserScores चुनें जहां UserId =102); −> अपडेट IncrementAndDecrementValue सेट UserScores =first-1 जहां UserId =101; −> अद्यतन IncrementAndDecrementValue सेट UserScores =second+1 जहां UserId =102; −> अंत // क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.17 सेकंड)mysql> सीमांकक;

कॉल कमांड का उपयोग करके संग्रहीत कार्यविधि को कॉल करें। क्वेरी इस प्रकार है -

mysql> कॉल IncrementAndDecrementRowValueByOne();क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.24 सेकंड)

जांचें कि पंक्ति मान अपडेट किया गया है या चयन कथन का उपयोग नहीं कर रहा है। क्वेरी इस प्रकार है -

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

निम्न आउटपुट है -

<पूर्व>+----------+---------------+| उपयोगकर्ता आईडी | UserScores |+-----------+---------------+| 101 | 1999 102 | 30001 || 103 | 40000 |+--------+------------+3 पंक्तियाँ सेट में (0.00 सेकंड)

हमने मान को 20000 से घटाकर 19999 कर दिया है और 30000 से बढ़ाकर 30001 कर दिया है।


  1. MySQL विशिष्ट पंक्ति और कॉलम में एक मान डालें

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

  1. MySQL संग्रहीत कार्यविधि में WHERE IN () के साथ कार्य करना

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

  1. लागू करें यदि MySQL में संग्रहीत कार्यविधि में कोई और है?

    if-else को लागू करने के लिए, सिंटैक्स इस प्रकार है - यदि आपका कंडीशन है तो yourStatement1; अन्यथा आपका स्टेटमेंट 2; अंत अगर; संग्रहीत कार्यविधि में if-else के लिए उपरोक्त अवधारणा को समझने के लिए, आइए हम एक संग्रहीत कार्यविधि बनाते हैं - सीमांकक; अब आप कॉल कमांड का उपयोग करके संग्रहीत कार्यविधि को