如何在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)
广告