पायथन SQLite - सीमा

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

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

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

SELECT column1, column2, columnN
FROM table_name
LIMIT [no of rows]

उदाहरण

मान लें कि हमने निम्नलिखित क्वेरी का उपयोग करके 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>

निम्नलिखित कथन लिमिट क्लॉज का उपयोग करके क्रिकेटरों की तालिका के पहले 3 रिकॉर्ड्स को पुनः प्राप्त करता है -

sqlite> SELECT * FROM CRICKETERS LIMIT 3;
First_Name Last_Name  Age  Place_Of_B Country
---------- ---------- ---- ---------- -------------
Shikhar    Dhawan     33   Delhi      India
Jonathan   Trott      38   CapeTown   SouthAfrica
Kumara     Sangakkara 41   Matale     Srilanka
sqlite>

यदि आपको nth रिकॉर्ड (1 नहीं) से शुरू होने वाले रिकॉर्ड को सीमित करने की आवश्यकता है, तो आप ऐसा कर सकते हैं, लिमिट के साथ OFFSET का उपयोग कर सकते हैं।

sqlite> SELECT * FROM CRICKETERS LIMIT 3 OFFSET 2;
First_Name Last_Name  Age  Place_Of_B Country
---------- ---------- ---- ---------- -------------
Kumara     Sangakkara 41   Matale     Srilanka
Virat      Kohli      30   Delhi      India
Rohit      Sharma     32   Nagpur     India
sqlite>

पायथन का उपयोग करके परिवाद खंड

यदि आप लिमिट क्लॉज के साथ सेलेक्ट क्वेरी को पास करके कर्सर ऑब्जेक्ट पर एग्जीक्यूट () विधि को लागू करते हैं, तो आप आवश्यक संख्या में रिकॉर्ड पुनः प्राप्त कर सकते हैं।

उदाहरण

पायथन उदाहरण के बाद लिमाट क्लॉज का उपयोग करते हुए EMPLOYEE तालिका के पहले दो रिकॉर्ड प्राप्त होते हैं।

import sqlite3

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

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

#Retrieving single row
sql = '''SELECT * from EMPLOYEE LIMIT 3'''

#Executing the query
cursor.execute(sql)

#Fetching the data
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)]