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

MySQL अद्यतन क्वेरी जहां आईडी उच्चतम है और फ़ील्ड चर के बराबर है?

<घंटा/>

वाक्य रचना इस प्रकार है

अपना TableNameset yourColumnName1=yourValue जहां yourColumnName2=yourValue को yourIdColumnName DESC LIMIT 1 द्वारा अपडेट करें;

उपरोक्त वाक्य रचना को समझने के लिए, आइए एक तालिका बनाते हैं। तालिका बनाने की क्वेरी इस प्रकार है

mysql> टेबल बनाएं UpdateWithHighestDemo -> (-> UserId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> UserStatus tinyint, -> UserRank int -> );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.61 सेकंड)

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

क्वेरी इस प्रकार है

mysql> UpdateWithHighestDemo(UserStatus, UserRank) मान (1,78) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.12 सेकंड) mysql> UpdateWithHighestDemo (UserStatus, UserRank) मान (0,118) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.18 सेकंड) mysql> UpdateWithHighestDemo (UserStatus, UserRank) मान (1,223) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.62 सेकंड) mysql> UpdateWithHighestDemo (UserStatus, UserRank) मान (1,225) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.12 सेकंड) mysql> UpdateWithHighestDemo (UserStatus, UserRank) मान (0,227) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.14 सेकंड) mysql> UpdateWithHighestDemo (UserStatus, UserRank) मान (0,230) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.17 सेकंड)

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

क्वेरी इस प्रकार है

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

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

<पूर्व>+----------+---------------+----------+| उपयोगकर्ता आईडी | उपयोगकर्ता स्थिति | UserRank |+----------+---------------+----------+| 1 | 1 | 78 || 2 | 0 | 118 || 3 | 1 | 223 || 4 | 1 | 225 || 5 | 0 | 227 || 6 | 0 | 230 |+-----------+---------------+----------+6 पंक्तियों में सेट (0.00 सेकंड)

कॉलम अपडेट करने की क्वेरी यहां दी गई है

mysql> UpdateWithHighestDemo-> सेट करें UserStatus=1 जहां UserRank=230 UserId DESC LIMIT 1 द्वारा ऑर्डर करें;क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.19 सेकेंड)पंक्तियां मिलान:1 परिवर्तित:1 चेतावनियां:0

आइए हम चयन कथन का उपयोग करके तालिका से रिकॉर्ड देखें और प्रदर्शित करें।

क्वेरी इस प्रकार है

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

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

<पूर्व>+----------+---------------+----------+| उपयोगकर्ता आईडी | उपयोगकर्ता स्थिति | UserRank |+----------+---------------+----------+| 1 | 1 | 78 || 2 | 0 | 118 || 3 | 1 | 223 || 4 | 1 | 225 || 5 | 0 | 227 || 6 | 1 | 230 |+-----------+---------------+----------+6 पंक्तियों में सेट (0.00 सेकंड)

अब यदि आप उच्चतम आईडी के साथ अपडेट करना चाहते हैं तो ORDER BY क्लॉज उपयोगी है। उपरोक्त नमूना आउटपुट में उच्चतम 'UserId'=6 और UserStatus 1 है।

आइए UserStatus को 0 पर अपडेट करें।

क्वेरी इस प्रकार है

mysql> UpdateWithHighestDemo को अपडेट करें -> UserId DESC LIMIT 1 द्वारा UserStatus=0 क्रम सेट करें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.18 सेकंड) पंक्तियाँ मिलान:1 परिवर्तित:1 चेतावनियाँ:0

चयन कथन का उपयोग करके तालिका से रिकॉर्ड की जाँच करें।

क्वेरी इस प्रकार है

mysql> UpdateWithHighestDemo से * चुनें; उपयोगकर्ता आईडी | उपयोगकर्ता स्थिति | UserRank |+----------+---------------+----------+| 1 | 1 | 78 || 2 | 0 | 118 || 3 | 1 | 223 || 4 | 1 | 225 || 5 | 0 | 227 || 6 | 0 | 230 |+-----------+---------------+----------+6 पंक्तियों में सेट (0.00 सेकंड)

  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 पंक्ति प

  1. - एक मान्य MySQL क्वेरी कैसे लिखें और एक कस्टम चर के साथ अपडेट कैसे करें?

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