पायथन SQLite - डेटा का चयन करें

आप SELCT क्वेरी का उपयोग करते हुए SQLite तालिका से डेटा पुनः प्राप्त कर सकते हैं। यह प्रश्न / कथन सारणीबद्ध रूप में निर्दिष्ट संबंध (तालिका) की सामग्री देता है और इसे परिणाम-सेट कहा जाता है।

वाक्य - विन्यास

SQLite में SELECT स्टेटमेंट का सिंटैक्स निम्नलिखित है -

SELECT column1, column2, columnN FROM table_name;

उदाहरण

मान लें कि हमने निम्नलिखित क्वेरी का उपयोग करके CRICKETERS नाम के साथ एक तालिका बनाई है -

sqlite> CREATE TABLE CRICKETERS (
   First_Name VARCHAR(255),
   Last_Name VARCHAR(255),
   Age int,
   Place_Of_Birth VARCHAR(255),
   Country VARCHAR(255)
);
sqlite>

और अगर हमने INSERT कथनों का उपयोग करते हुए इसमें 5 रिकॉर्ड डाले हैं -

sqlite> insert into CRICKETERS values('Shikhar', 'Dhawan', 33, 'Delhi', 'India');
sqlite> insert into CRICKETERS values('Jonathan', 'Trott', 38, 'CapeTown', 'SouthAfrica');
sqlite> insert into CRICKETERS values('Kumara', 'Sangakkara', 41, 'Matale', 'Srilanka');
sqlite> insert into CRICKETERS values('Virat', 'Kohli', 30, 'Delhi', 'India');
sqlite> insert into CRICKETERS values('Rohit', 'Sharma', 32, 'Nagpur', 'India');
sqlite>

सेलेक्ट क्वेरी के बाद कॉलम FIRST_NAME, LAST_NAME और, CRICKETERS तालिका से COUNTRY के मूल्यों को पुनः प्राप्त करता है।

sqlite> SELECT FIRST_NAME, LAST_NAME, COUNTRY FROM CRICKETERS;
Shikhar  |Dhawan     |India
Jonathan |Trott      |SouthAfrica
Kumara   |Sangakkara |Srilanka
Virat    |Kohli      |India
Rohit    |Sharma     |India
sqlite>

जैसा कि आप निरीक्षण करते हैं, SQLite डेटाबेस का सेलेक्ट स्टेटमेंट केवल निर्दिष्ट तालिकाओं के रिकॉर्ड लौटाता है। एक स्वरूपित आउटपुट प्राप्त करने के लिए आपको सेट करने की आवश्यकता हैheader, तथा mode नीचे दिए गए चयन के अनुसार संबंधित आदेशों का उपयोग करते हुए -

sqlite> .header on
sqlite> .mode column
sqlite> SELECT FIRST_NAME, LAST_NAME, COUNTRY FROM CRICKETERS;
First_Name Last_Name            Country
---------- -------------------- ----------
Shikhar    Dhawan               India
Jonathan   Trott                SouthAfric
Kumara     Sangakkara           Srilanka
Virat      Kohli                India
Rohit      Sharma               India
sqlite>

यदि आप प्रत्येक रिकॉर्ड के सभी स्तंभों को पुनः प्राप्त करना चाहते हैं, तो आपको स्तंभों के नामों को "*" से बदलने की आवश्यकता है जैसा कि नीचे दिखाया गया है -

sqlite> .header on
sqlite> .mode column
sqlite> SELECT * FROM CRICKETERS;
First_Name Last_Name  Age        Place_Of_Birth Country
---------- ---------- ---------- -------------- ----------
Shikhar    Dhawan     33         Delhi          India
Jonathan   Trott      38         CapeTown       SouthAfric
Kumara     Sangakkara 41         Matale         Srilanka
Virat      Kohli      30         Delhi          India
Rohit      Sharma     32         Nagpur         India
sqlite>

में SQLite डिफ़ॉल्ट रूप से स्तंभों की चौड़ाई इस चौड़ाई कटा रहे हैं परे 10 मान (2 के देश स्तंभ का पालन है nd उपरोक्त तालिका में पंक्ति)। आप प्रत्येक कॉलम की चौड़ाई को आवश्यक मान पर सेट कर सकते हैं.width कमांड, तालिका की सामग्री को प्राप्त करने से पहले जैसा कि नीचे दिखाया गया है -

sqlite> .width 10, 10, 4, 10, 13
sqlite> SELECT * FROM CRICKETERS;
First_Name Last_Name  Age  Place_Of_B Country
---------- ---------- ---- ---------- -------------
Shikhar    Dhawan     33   Delhi      India
Jonathan   Trott      38   CapeTown   SouthAfrica
Kumara     Sangakkara 41   Matale     Srilanka
Virat      Kohli      30   Delhi      India
Rohit      Sharma     32   Nagpur     India
sqlite>

अजगर का उपयोग कर डेटा पुनर्प्राप्त कर रहा है

किसी भी डेटाबेस पर पढ़ें ऑपरेशन का मतलब डेटाबेस से कुछ उपयोगी जानकारी प्राप्त करना है। आप sqlite अजगर मॉड्यूल द्वारा प्रदान की गई विधि () विधि का उपयोग करके MYSQL से डेटा प्राप्त कर सकते हैं।

Sqlite3.Cursor वर्ग तीन तरीके प्रदान करता है जैसे कि भ्रूण (), fetchmany () और, fetchone () जहां,

  • भ्रूण () विधि एक क्वेरी के परिणाम सेट में सभी पंक्तियों को पुनः प्राप्त करती है और उन्हें टुपल्स की सूची के रूप में वापस करती है। (यदि हम इसे कुछ पंक्तियों को प्राप्त करने के बाद निष्पादित करते हैं तो यह शेष लोगों को वापस कर देता है)।

  • भ्रूण () विधि एक क्वेरी के परिणाम में अगली पंक्ति लाती है और इसे एक टुपल के रूप में वापस करती है।

  • Fetchmany () विधि fetchone () के समान है, लेकिन, यह एक पंक्ति के बजाय किसी क्वेरी के परिणाम सेट में पंक्तियों के अगले सेट को पुनः प्राप्त करता है।

Note - एक परिणाम सेट एक ऑब्जेक्ट है जिसे एक टेबल को क्वेरी करने के लिए कर्सर ऑब्जेक्ट का उपयोग करने पर वापस किया जाता है।

उदाहरण

उदाहरण के बाद EMPLOYEE तालिका की सभी पंक्तियों को SELECT क्वेरी का उपयोग करके और प्रारंभ में प्राप्त परिणाम से, हम भ्रूण () विधि का उपयोग करके पहली पंक्ति को पुनः प्राप्त कर रहे हैं और फिर भ्रूण () विधि का उपयोग करके शेष पंक्तियों को प्राप्त कर रहे हैं।

पायथन कार्यक्रम के बाद पता चलता है कि उपरोक्त उदाहरण में बनाई गई कंपनी तालिका से रिकॉर्ड कैसे प्राप्त करें और प्रदर्शित करें।

import sqlite3

#Connecting to sqlite
conn = sqlite3.connect('example.db')

#Creating a cursor object using the cursor() method
cursor = conn.cursor()

#Retrieving data
cursor.execute('''SELECT * from EMPLOYEE''')

#Fetching 1st row from the table
result = cursor.fetchone();
print(result)

#Fetching 1st row from the table
result = cursor.fetchall();
print(result)

#Commit your changes in the database
conn.commit()

#Closing the connection
conn.close()

उत्पादन

('Ramya', 'Rama priya', 27, 'F', 9000.0)
[('Vinay', 'Battacharya', 20, 'M', 6000.0),
   ('Sharukh', 'Sheik', 25, 'M', 8300.0),
   ('Sarmista', 'Sharma', 26, 'F', 10000.0),
   ('Tripthi', 'Mishra', 24, 'F', 6000.0)
]