Python SQLite - Giới hạn

Trong khi tìm nạp các bản ghi nếu bạn muốn giới hạn chúng bằng một số cụ thể, bạn có thể làm như vậy bằng cách sử dụng mệnh đề LIMIT của SQLite.

Cú pháp

Sau đây là cú pháp của mệnh đề LIMIT trong SQLite:

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

Thí dụ

Giả sử chúng ta đã tạo một bảng có tên CRICKETERS bằng truy vấn sau:

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

Và nếu chúng ta đã chèn 5 bản ghi vào nó bằng cách sử dụng câu lệnh INSERT như -

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>

Câu lệnh sau truy xuất 3 bản ghi đầu tiên của bảng Cricketers bằng cách sử dụng mệnh đề 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>

Nếu bạn cần giới hạn các bản ghi bắt đầu từ bản ghi thứ n (không phải bản ghi đầu tiên), bạn có thể làm như vậy bằng cách sử dụng OFFSET cùng với 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>

Mệnh đề LIMIT sử dụng Python

Nếu bạn gọi phương thức execute () trên đối tượng con trỏ bằng cách chuyển truy vấn SELECT cùng với mệnh đề LIMIT, bạn có thể truy xuất số lượng bản ghi cần thiết.

Thí dụ

Ví dụ python sau truy xuất hai bản ghi đầu tiên của bảng EMPLOYEE bằng cách sử dụng mệnh đề 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()

Đầu ra

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