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

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

<घंटा/>

आइए पहले एक टेबल बनाएं -

mysql> टेबल बनाएं DemoTable -> ( -> Id int, -> Name varchar(20) -> );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.69 सेकंड)

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

mysql> डेमोटेबल मानों में डालें (100, 'क्रिस'); क्वेरी ओके, 1 पंक्ति प्रभावित (0.12 सेकंड) mysql> डेमोटेबल मानों में डालें (101, 'बॉब'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.18 सेकंड) )mysql> डेमोटेबल मानों में डालें (102, 'डेविड'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.18 सेकंड)

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

mysql> डेमोटेबल से * चुनें;

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

<पूर्व>+----------+----------+| आईडी | नाम |+----------+----------+| 100 | क्रिस || 101 | बॉब || 102 | डेविड |+------+----------+3 पंक्तियाँ सेट में (0.00 सेकंड)

WHERE IN() -

. का उपयोग करने के लिए संग्रहीत कार्यविधि बनाने के लिए क्वेरी यहां दी गई है
mysql> DELIMITER //mysql> क्रिएट प्रोसीजर जहांInDemo (इनपुट वर्कर (100) में) -> BEGIN -> set @Query ='सेलेक्ट नेम फ्रॉम डेमोटेबल'; -> सेट @Query =CONCAT(@Query,' जहां Id IN (',`input`,')'); -> @Query से stmt तैयार करें; -> एसएमटी निष्पादित करें; -> डिलोकेट तैयार stmt; -> END//क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.23 सेकंड)mysql> DELIMITER;

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

mysql> कॉल जहांInDemo('100,102');

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

<पूर्व>+----------+| नाम |+----------+| क्रिस || डेविड |+----------+2 पंक्तियाँ सेट में (0.04 सेकंड)क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित हैं, 1 चेतावनी (0.07 सेकंड)
  1. एक MySQL संग्रहीत कार्यविधि में शर्तें सेट करें

    किसी संग्रहीत कार्यविधि में शर्तें सेट करने के लिए, MySQL में IF...ELSE का उपयोग करें। if-else के लिए सिंटैक्स निम्नलिखित है - यदि आपकी स्थिति है तो आपका स्टेटमेंट1, ईएलएसई योरस्टेटमेंट2, अगर समाप्त करें; आइए हम उपरोक्त सिंटैक्स को एक संग्रहीत कार्यविधि में लागू करें - // क्वेरी ठीक है, 0 पंक्तिया

  1. MySQL संग्रहीत प्रक्रिया कुछ शर्त के साथ रिकॉर्ड अद्यतन करने के लिए?

    इसके लिए आप PROCEDURE में WHERE क्लॉज के साथ UPDATE कमांड का उपयोग कर सकते हैं। आइए पहले एक टेबल बनाएं - );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.56 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - डेमोटेबल मानों में डालें (103, जॉन, डो); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.07 सेकंड)

  1. MySQL में AUTO_INCREMENT कॉलम के साथ काम करना

    आइए समझते हैं कि MySQL में AUTO_INCREMENT कॉलम के साथ कैसे काम करें - AUTO_INCREMENT विशेषता का उपयोग नई पंक्तियों के लिए एक विशिष्ट पहचान बनाने के लिए किया जाता है। आइए देखें कि यह कथन कैसे काम करता है। इससे पहले, नीचे दी गई क्वेरी पर विचार करें - क्वेरी CREATE TABLE tableName (    id ME