如何在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 次浏览

启动您的职业生涯

通过完成课程获得认证

开始
广告