SQLite
 sql >> डेटाबेस >  >> RDS >> SQLite

SQLite - डेटा चुनें

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 

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Android में PhoneGap/Cordova का उपयोग करके पहले से भरे हुए SQLite डेटाबेस तक नहीं पहुंच सकता

  2. पहले से बंद ऑब्जेक्ट sqlitedatabase को फिर से खोलने का प्रयास करें

  3. SQLite अद्वितीय बाधा

  4. SQLiteException:तालिका पहले से मौजूद है

  5. SQLite दिनांक/समय कार्यों के लिए मान्य समय स्ट्रिंग प्रारूप