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 से *च