如何在Python MySQL中从表中的特定行号开始检索特定数量的记录?
大多数情况下,我们并不需要从表中选择所有行。有时我们需要从特定索引开始检索特定数量的记录。假设我们有一个包含10条记录的表格。我们需要从第3行开始选择表格中的5行。
这可以通过LIMIT和OFFSET子句与SELECT语句一起完成。LIMIT用于指定您要检索的行数。 OFFSET用于指定从哪里开始获取行。如果要从第3行开始获取数据,则OFFSET必须为2。
更多Python相关文章,请阅读:Python 教程
语法
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)
极客教程