如何在Python MySQL中從指定行號開始檢索特定數量的記錄?


大多數情況下,我們不需要從表中選擇所有行。有時我們可能需要從表中檢索特定數量的記錄,從某個特定索引開始。假設我們有一個包含10條記錄的表。我們需要從第3行開始選擇5行。

這是使用LIMIT和OFFSET子句以及SELECT語句完成的。LIMIT用於指定要檢索的行數。OFFSET用於指定從哪裡開始提取行。如果要從第3行開始提取資料,則OFFSET必須為2。

語法

SELECT * FROM table_name LIMIT no_of_rows OFFSET starting index of row

使用Python中的MySQL從表中選擇特定記錄的步驟

  • 匯入MySQL聯結器

  • 使用connect()方法建立與聯結器的連線

  • 使用cursor()方法建立遊標物件

  • 使用適當的MySQL語句建立查詢

  • 使用execute()方法執行SQL查詢

  • 關閉連線

假設我們有以下名為“Students”的表:

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

示例

假設我們想從第2行開始選擇3行。

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()

上述程式碼從第2行開始提取並列印3條記錄。

輸出

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

更新於: 2021年6月10日

968 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始
廣告