Python SQLite - Límite

Mientras busca registros si desea limitarlos a un número en particular, puede hacerlo utilizando la cláusula LIMIT de SQLite.

Sintaxis

A continuación se muestra la sintaxis de la cláusula LIMIT en SQLite:

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

Ejemplo

Supongamos que hemos creado una tabla con el nombre CRICKETERS utilizando la siguiente consulta:

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

Y si hemos insertado 5 registros usando instrucciones INSERT como:

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>

La siguiente declaración recupera los primeros 3 registros de la tabla de jugadores de cricket utilizando la cláusula 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 necesita limitar los registros comenzando desde el n-ésimo registro (no el primero), puede hacerlo, usando OFFSET junto con 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>

Cláusula LIMIT usando Python

Si invoca el método execute () en el objeto cursor pasando la consulta SELECT junto con la cláusula LIMIT, puede recuperar el número requerido de registros.

Ejemplo

El siguiente ejemplo de Python recupera los dos primeros registros de la tabla EMPLOYEE usando la cláusula 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()

Salida

[('Ramya', 'Rama priya', 27, 'F', 9000.0), 
   ('Vinay', 'Battacharya', 20, 'M', 6000.0), 
   ('Sharukh', 'Sheik', 25, 'M', 8300.0)]