SQLite डेटाबेस से डेटा का चयन करने के लिए, SELECT
. का उपयोग करें बयान।
जब आप इस कथन का उपयोग करते हैं, तो आप निर्दिष्ट करते हैं कि किस तालिका/तालिकाओं से डेटा का चयन करना है, साथ ही साथ कॉलम को क्वेरी से वापस करना है।
लौटाए गए डेटा को और कम करने के लिए आप अतिरिक्त मानदंड भी प्रदान कर सकते हैं।
साधारण SELECT
कथन
हम पहले ही एक SELECT
. का उपयोग कर चुके हैं पहले बयान, जब हमने डेटा डाला था।
हमने जिस कथन का उपयोग किया वह यह था:
SELECT * FROM Artists;
यह काफी आत्म-व्याख्यात्मक है - यह SQLite को
कलाकारों
से सभी स्तंभों का चयन करने के लिए कह रहा है टेबल। तारांकन (*
) "सभी कॉलम" कहने का एक संक्षिप्त तरीका है। यह हमें सभी कॉलमों के नाम लिखने से बचाता है।
इसलिए, यह क्वेरी सभी रिकॉर्ड और सभी कॉलम लौटाती है। इस तरह:
1|Joe Satriani 2|Steve Vai 3|The Tea Party 4|Noiseworks 5|Wayne Jury 6|Mr Percival 7|Iron Maiden 8|Atmasphere 9|Ian Moss 10|Magnum 11|Strapping Young Lad 12|Slayer 13|Primus 14|Pat Metheny 15|Frank Gambale 16|Frank Zappa 17|The Wiggles
फ़ॉर्मेटिंग
आइए आउटपुट को प्रारूपित करें ताकि हमारे परिणाम पढ़ने में थोड़ा आसान हो।
कॉलम का उपयोग करें
आप .mode
. का उपयोग कर सकते हैं आउटपुट मोड को बदलने के लिए। उपरोक्त उदाहरण .mode list
. का उपयोग करता है , जो परिणामों को एक सूची के रूप में प्रदर्शित करता है।
आइए कॉलम का उपयोग करने के लिए मोड बदलें।
.mode column
जब आप ऐसा करते हैं, तो आपको कॉलम की चौड़ाई को समायोजित करने की आवश्यकता हो सकती है (कोई भी डेटा जो कॉलम के लिए बहुत चौड़ा है उसे छोटा कर दिया जाएगा)।
कॉलम की चौड़ाई समायोजित करें
कॉलम की चौड़ाई समायोजित करने के लिए, .width
. का उपयोग करें कमांड, प्रत्येक कॉलम के लिए चौड़ाई के बाद।
निम्न उदाहरण पहले कॉलम को 12
. पर सेट करता है और दूसरा कॉलम 20
.
.width 12 20
हेडर जोड़ें
आप .headers
. का भी उपयोग कर सकते हैं यह निर्दिष्ट करने के लिए कि कॉलम हेडर प्रदर्शित करना है या नहीं।
शीर्षलेख प्रदर्शित करने के लिए, इसका उपयोग करें:
.headers on
आप उन्हें .headers off
. से हटा सकते हैं ।
सेटिंग दिखाएं
आप किसी भी समय .show
. लिखकर इन और अन्य सेटिंग्स की समीक्षा कर सकते हैं
sqlite> .show echo: off eqp: off explain: off headers: on mode: column nullvalue: "" output: stdout separator: "|" stats: off width: 12 20
नया प्रारूप
यहां बताया गया है कि कॉलम और हेडर मोड का उपयोग करके पिछला उदाहरण कैसा दिखता है:
ArtistId ArtistName ---------- ------------ 1 Joe Satriani 2 Steve Vai 3 The Tea Part 4 Noiseworks 5 Wayne Jury 6 Mr Percival 7 Iron Maiden 8 Atmasphere 9 Ian Moss 10 Magnum 11 Strapping Yo 12 Slayer 13 Primus 14 Pat Metheny 15 Frank Gambal 16 Frank Zappa 17 The Wiggles
WHERE
खंड
आप WHERE
. का उपयोग कर सकते हैं परिणामों को कम करने के लिए खंड। क्लॉज आपको विशिष्ट मानदंड निर्धारित करने की अनुमति देता है जिसके लिए क्वेरी पर आवेदन करना है।
उदाहरण के लिए, आप निर्दिष्ट कर सकते हैं कि केवल रिकॉर्ड, जहां एक निश्चित फ़ील्ड में एक निश्चित मान होता है, लौटाया जाना चाहिए।
यहाँ एक बहुत ही विशिष्ट उदाहरण है। यह निर्दिष्ट करता है कि केवल ArtistId . वाला रिकॉर्ड 6 . के बराबर लौटाया जाना चाहिए:
SELECT * FROM Artists WHERE ArtistId = 6;
परिणाम:
ArtistId ArtistName ------------ -------------------- 6 Mr Percival
उन सभी कलाकारों को खोजने के लिए जिनका नाम "S" अक्षर से शुरू होता है, आप यह कर सकते हैं:
SELECT * FROM Artists WHERE ArtistName LIKE 'S%';
परिणाम:
ArtistId ArtistName ------------ -------------------- 2 Steve Vai 11 Strapping Young Lad 12 Slayer
प्रतिशत चिह्न (%
) एक वाइल्डकार्ड वर्ण है जिसका उपयोग किसी भी वर्ण को निर्दिष्ट करने के लिए किया जा सकता है। इसलिए, इस उदाहरण में, हम निर्दिष्ट कर रहे हैं कि कलाकार का नाम इस पैटर्न की तरह होना चाहिए (अर्थात
S
अक्षर से शुरू होने वाला पैटर्न और किसी अन्य चरित्र के साथ अनुसरण करना)।
WHERE
. का उपयोग करने का एक और उदाहरण खंड मूल्यों की एक श्रृंखला को पुनः प्राप्त करना है। उदाहरण के लिए, हम ऐसे रिकॉर्ड ढूंढ सकते हैं जहां मान किसी संख्या से कम हो, किसी संख्या से बड़ा हो, या किसी निश्चित सीमा के भीतर हो।
यहां ArtistId . के साथ केवल उन्हीं रिकॉर्ड्स को चुनने का एक उदाहरण दिया गया है एक संख्या से कम:
SELECT * FROM Artists WHERE ArtistId < 6;
परिणाम:
ArtistId ArtistName ------------ -------------------- 1 Joe Satriani 2 Steve Vai 3 The Tea Party 4 Noiseworks 5 Wayne Jury
यहां ArtistId . के साथ केवल उन्हीं रिकॉर्ड्स को चुनने का एक उदाहरण दिया गया है एक निश्चित सीमा के भीतर:
SELECT * FROM Artists WHERE ArtistId BETWEEN 5 AND 10;
परिणाम:
ArtistId ArtistName ------------ -------------------- 5 Wayne Jury 6 Mr Percival 7 Iron Maiden 8 Atmasphere 9 Ian Moss 10 Magnum
कॉलम चुनना
आप निर्दिष्ट कर सकते हैं कि परिणाम सेट में केवल कुछ कॉलम लौटाए जाते हैं। बस क्वेरी में कॉलम के नाम लिखें। एकाधिक कॉलम नामों को अल्पविराम से अलग करने की आवश्यकता है।
उन कॉलमों का चयन करना एक अच्छा अभ्यास है जिनकी आपको आवश्यकता है। *
का उपयोग करना , सुविधाजनक होने पर, अतिरिक्त ओवरहेड का कारण बन सकता है यदि यह आवश्यकता से अधिक कॉलम लौटाता है।
तो चलिए फिर से वही क्वेरी चलाते हैं, लेकिन इस बार, केवल ArtistName चुनें कॉलम:
SELECT ArtistName FROM Artists WHERE ArtistId BETWEEN 5 AND 10;
परिणाम:
ArtistName ------------ Wayne Jury Mr Percival Iron Maiden Atmasphere Ian Moss Magnum
द ORDER BY
खंड
आप ORDER BY
का उपयोग कर सकते हैं लौटाए गए रिकॉर्ड की संख्या को सीमित करने के लिए खंड।
आप ASC
जोड़ सकते हैं आरोही क्रम के लिए, या DESC
अवरोही क्रम के लिए। यदि आप कुछ नहीं जोड़ते हैं, तो यह आरोही का उपयोग करेगा।
यहां, हम ArtistName . द्वारा ऑर्डर करते हैं फ़ील्ड आरोही क्रम में:
SELECT * FROM Artists ORDER BY ArtistName;
परिणाम:
ArtistId ArtistName ------------ -------------------- 8 Atmasphere 15 Frank Gambale 16 Frank Zappa 9 Ian Moss 7 Iron Maiden 1 Joe Satriani 10 Magnum 6 Mr Percival 4 Noiseworks 14 Pat Metheny 13 Primus 12 Slayer 2 Steve Vai 11 Strapping Young Lad 3 The Tea Party 17 The Wiggles 5 Wayne Jury
और अगर हम अवरोही क्रम में स्विच करते हैं:
SELECT * FROM Artists ORDER BY ArtistName DESC;
परिणाम:
ArtistId ArtistName ------------ -------------------- 5 Wayne Jury 17 The Wiggles 3 The Tea Party 11 Strapping Young Lad 2 Steve Vai 12 Slayer 13 Primus 14 Pat Metheny 4 Noiseworks 6 Mr Percival 10 Magnum 1 Joe Satriani 7 Iron Maiden 9 Ian Moss 16 Frank Zappa 15 Frank Gambale 8 Atmasphere
LIMIT
खंड
आप LIMIT
. का उपयोग कर सकते हैं लौटाए गए रिकॉर्ड की संख्या को सीमित करने के लिए खंड। यह आसान हो सकता है यदि आपकी तालिका में बड़ी संख्या में रिकॉर्ड हैं लेकिन आप केवल कुछ मुट्ठी भर देखना चाहते हैं।
यहां, हम रिकॉर्ड सेट को केवल पांच रिकॉर्ड तक सीमित करते हैं:
SELECT * FROM Artists LIMIT 5;
परिणाम:
ArtistId ArtistName ------------ -------------------- 1 Joe Satriani 2 Steve Vai 3 The Tea Party 4 Noiseworks 5 Wayne Jury