MySQL सीमा और amp; उदाहरण के साथ OFFSET

Anonim

LIMIT कीवर्ड क्या है?

सीमा कीवर्ड का उपयोग क्वेरी परिणाम में दी गई पंक्तियों की संख्या को सीमित करने के लिए किया जाता है।

इसका उपयोग SELECT, UPDATE OR DELETE कमांड के साथ मिलकर किया जा सकता है, जो LIMIT कीवर्ड सिंटैक्स है

LIMIT कीवर्ड का सिंटैक्स इस प्रकार है

SELECT {fieldname(s) | *} FROM tableName(s) [WHERE condition] LIMIT N;

यहां

  • "SELECT {fieldname (s) | *} FROM tableName (s)" उन सेलेक्ट स्टेटमेंट है जिन फ़ील्ड्स को हम अपनी क्वेरी में वापस करना चाहते हैं।
  • "[WHERE की स्थिति]" वैकल्पिक है, लेकिन जब आपूर्ति की जाती है, तो परिणाम सेट पर एक फिल्टर निर्दिष्ट करने के लिए इस्तेमाल किया जा सकता है।
  • "लिमिट एन" कीवर्ड है और एन 0 से शुरू होने वाली कोई भी संख्या है, 0 को डाल देना क्योंकि सीमा क्वेरी में कोई रिकॉर्ड वापस नहीं करती है। संख्या 5 कहते हुए पांच रिकॉर्ड वापस करेंगे। यदि निर्दिष्ट तालिका में रिकॉर्ड N से कम हैं, तो परिणाम तालिका में सभी रिकॉर्ड तालिका से दिए गए हैं।

आइए एक उदाहरण देखें -

SELECT * FROM members LIMIT 2;
 
membership_ number full_ names gender date_of _birth date_of _registration physical_ address postal_ address contact_ number email credit_ card_ number
1 Janet Jones Female 21-07-1980 NULL First Street Plot No 4 Private Bag 0759 253 542 This email address is being protected from spambots. You need JavaScript enabled to view it. NULL
2 Janet Smith Jones Female 23-06-1980 NULL Melrose 123 NULL NULL This email address is being protected from spambots. You need JavaScript enabled to view it. NULL

जैसा कि आप उपरोक्त स्क्रीनशॉट से देख सकते हैं, केवल दो सदस्य वापस आ गए हैं।

केवल डेटाबेस से दस (10) सदस्यों की सूची प्राप्त करना

मान लीजिए कि हम पहले 10 पंजीकृत सदस्यों की एक सूची प्राप्त करना चाहते हैं जो Myflix डेटाबेस से हैं। हम इसे प्राप्त करने के लिए निम्न स्क्रिप्ट का उपयोग करेंगे।

SELECT * FROM members LIMIT 10;

उपरोक्त स्क्रिप्ट को निष्पादित करने से हमें नीचे दिखाए गए परिणाम मिलते हैं

 
membership_ number full_ names gender date_of _birth date_of _registration physical_ address postal_ address contact_ number email credit_ card_ number
1 Janet Jones Female 21-07-1980 NULL First Street Plot No 4 Private Bag 0759 253 542 This email address is being protected from spambots. You need JavaScript enabled to view it. NULL
2 Janet Smith Jones Female 23-06-1980 NULL Melrose 123 NULL NULL This email address is being protected from spambots. You need JavaScript enabled to view it. NULL
3 Robert Phil Male 12-07-1989 NULL 3rd Street 34 NULL 12345 This email address is being protected from spambots. You need JavaScript enabled to view it. NULL
4 Gloria Williams Female 14-02-1984 NULL 2nd Street 23 NULL NULL NULL NULL
5 Leonard Hofstadter Male NULL NULL Woodcrest NULL 845738767 NULL NULL
6 Sheldon Cooper Male NULL NULL Woodcrest NULL 976736763 NULL NULL
7 Rajesh Koothrappali Male NULL NULL Woodcrest NULL 938867763 NULL NULL
8 Leslie Winkle Male 14-02-1984 NULL Woodcrest NULL 987636553 NULL NULL
9 Howard Wolowitz Male 24-08-1981 NULL SouthPark P.O. Box 4563 987786553 lwolowitz[at]email.me NULL

नोट केवल 9 सदस्यों को हमारी क्वेरी में वापस किया गया है क्योंकि एनआईआईआईआईएमआईटी क्लॉज हमारी तालिका में कुल रिकॉर्ड की संख्या से अधिक है।

उपरोक्त लिपि को इस प्रकार से फिर से लिखना

SELECT * FROM members LIMIT 9;

केवल हमारे क्वेरी परिणाम सेट में 9 पंक्तियाँ देता है।

LIMIT क्वेरी में OFF SET का उपयोग करना

सेट मूल्य भी सबसे अधिक बार आप LIMIT कीवर्ड के साथ उपयोग किया है। OFF SET मान हमें यह निर्दिष्ट करने की अनुमति देता है कि कौन सी पंक्ति डेटा पुनर्प्राप्त करने से शुरू होती है

मान लें कि हम पंक्तियों के बीच से सीमित संख्या में सदस्य प्राप्त करना चाहते हैं, तो हम इसे प्राप्त करने के लिए ऑफसेट मान के साथ लिमिट कीवर्ड का उपयोग कर सकते हैं। नीचे दिखाई गई स्क्रिप्ट दूसरी पंक्ति शुरू करने वाले डेटा प्राप्त करती है और परिणामों को 2 तक सीमित करती है।

SELECT * FROM `members` LIMIT 1, 2;

MySQL कार्यक्षेत्र में उपरोक्त स्क्रिप्ट को Myflixdb के विरुद्ध निष्पादित करने से निम्न परिणाम मिलते हैं।

 
membership_ number full_ names gender date_of _birth date_of _registration physical_ address postal_ address contact_ number email credit_ card_ number
2 Janet Smith Jones Female 23-06-1980 NULL Melrose 123 NULL NULL This email address is being protected from spambots. You need JavaScript enabled to view it. NULL
3 Robert Phil Male 12-07-1989 NULL 3rd Street 34 NULL 12345 This email address is being protected from spambots. You need JavaScript enabled to view it. NULL
Note that here OFFSET = 1 Hence row#2 is returned & Limit = 2, Hence only 2 records are returned

हमें LIMIT कीवर्ड का उपयोग कब करना चाहिए?

मान लीजिए कि हम उस एप्लिकेशन को विकसित कर रहे हैं जो myflixdb के शीर्ष पर चलता है। हमारे सिस्टम डिजाइनर ने हमें धीमे लोड समय का मुकाबला करने के लिए प्रति पृष्ठ 20 रिकॉर्ड कहने के लिए एक पृष्ठ पर प्रदर्शित रिकॉर्ड की संख्या को सीमित करने के लिए कहा है। हम उस प्रणाली को लागू करने के बारे में कैसे जाते हैं जो ऐसी उपयोगकर्ता आवश्यकताओं को पूरा करती है? लिमिट कीवर्ड ऐसी स्थितियों में काम आता है। हम क्वेरी से लौटे परिणामों को प्रति पृष्ठ केवल 20 रिकॉर्ड तक सीमित कर पाएंगे।

सारांश

  • परिणाम के सेट से लौटी पंक्तियों की संख्या को सीमित करने के लिए लिमिट कीवर्ड का उपयोग किया जाता है।
  • लिमिट संख्या शून्य (0) से ऊपर जा रही किसी भी संख्या हो सकती है। जब शून्य (0) को सीमा के रूप में निर्दिष्ट किया जाता है, तो परिणाम सेट से कोई पंक्तियाँ वापस नहीं आती हैं।
  • OFF SET मान हमें यह निर्दिष्ट करने की अनुमति देता है कि डेटा पुनर्प्राप्त करने से कौन सी पंक्ति शुरू होनी चाहिए
  • इसका उपयोग SELECT, UPDATE OR DELETE कमांड के साथ मिलकर किया जा सकता है, जो LIMIT कीवर्ड सिंटैक्स है