Python SQLite - Limite
Lors de la récupération des enregistrements si vous souhaitez les limiter par un nombre particulier, vous pouvez le faire à l'aide de la clause LIMIT de SQLite.
Syntaxe
Voici la syntaxe de la clause LIMIT dans SQLite -
SELECT column1, column2, columnN
FROM table_name
LIMIT [no of rows]
Exemple
Supposons que nous ayons créé une table avec le nom CRICKETERS en utilisant la requête suivante -
sqlite> CREATE TABLE CRICKETERS (
First_Name VARCHAR(255),
Last_Name VARCHAR(255),
Age int,
Place_Of_Birth VARCHAR(255),
Country VARCHAR(255)
);
sqlite>
Et si nous y avons inséré 5 enregistrements en utilisant des instructions INSERT comme -
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>
L'instruction suivante récupère les 3 premiers enregistrements de la table Cricketers à l'aide de la clause LIMIT -
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>
Si vous avez besoin de limiter les enregistrements à partir du nième enregistrement (et non du 1er), vous pouvez le faire, en utilisant OFFSET avec LIMIT.
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>
Clause LIMIT utilisant Python
Si vous appelez la méthode execute () sur l'objet curseur en transmettant la requête SELECT avec la clause LIMIT, vous pouvez récupérer le nombre d'enregistrements requis.
Exemple
L'exemple python suivant récupère les deux premiers enregistrements de la table EMPLOYEE à l'aide de la clause LIMIT.
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()
Production
[('Ramya', 'Rama priya', 27, 'F', 9000.0),
('Vinay', 'Battacharya', 20, 'M', 6000.0),
('Sharukh', 'Sheik', 25, 'M', 8300.0)]