Computer >> Máy Tính >  >> Lập trình >> Python

Làm cách nào bạn có thể truy xuất một số bản ghi cụ thể từ một bảng bắt đầu từ một số hàng được chỉ định trong Python MySQL?

Thông thường, chúng tôi không yêu cầu chọn tất cả các hàng từ bảng. Đôi khi, chúng tôi có thể cần lấy một số lượng bản ghi cụ thể từ một bảng, bắt đầu từ một số chỉ mục cụ thể. Giả sử, chúng ta có một bảng gồm 10 bản ghi. Chúng ta cần chọn 5 hàng từ bảng bắt đầu từ 3 rd hàng.

Điều này được thực hiện bằng cách sử dụng mệnh đề LIMIT và OFFSET cùng với câu lệnh SELECT. LIMIT được sử dụng để chỉ định số hàng mà bạn muốn truy xuất. OFFSET được sử dụng để chỉ định vị trí bắt đầu từ nơi các hàng sẽ được tìm nạp. Nếu bạn muốn tìm nạp dữ liệu bắt đầu từ rd 3 hàng, OFFSET phải là 2.

Cú pháp

SELECT * FROM table_name LIMIT no_of_rows OFFSET starting index of row

Các bước được yêu cầu để chọn các bản ghi cụ thể từ một bảng bằng MySQL trong python

  • nhập trình kết nối MySQL

  • thiết lập kết nối với trình kết nối bằng connect ()

  • tạo đối tượng con trỏ bằng phương thức cursor ()

  • tạo một truy vấn bằng cách sử dụng các câu lệnh mysql thích hợp

  • thực hiện truy vấn SQL bằng phương thức execute ()

  • đóng kết nối

Giả sử chúng ta có bảng sau có tên là “Học sinh” -

+----------+---------+-----------+------------+
|    Name  |   Class |    City   |    Marks   |
+----------+---------+-----------+------------+
|    Karan |    4    | Amritsar  |    95      |
|    Sahil |    6    | Amritsar  |    93      |
|    Kriti |    3    | Batala    |    88      |
|   Khushi |    9    | Delhi     |    90      |
|    Kirat |    5    | Delhi     |    85      |
+----------+---------+-----------+------------+

Ví dụ

Giả sử chúng ta muốn chọn 3 hàng bắt đầu từ 2 nd hàng.

import mysql.connector

db=mysql.connector.connect(host="your host", user="your username", password="your
password",database="database_name")

cursor=db.cursor()

query="SELECT * FROM Students LIMIT 3 OFFSET 1"
cursor.execute(query)

for row in cursor:
   print(row)
db.close()

Đoạn mã trên tìm nạp và in 3 bản ghi bắt đầu từ 2 nd hàng.

Đầu ra

(‘Sahil’ , 6 , ‘Amritsar’ ,93)
(‘Kriti’ , 3 , ‘Batala’ ,88)
(‘Amit’ , 9 , ‘Delhi’ , 90)