如何从 Python MySQL 中的某个指定行号开始从表中检索特定数量的记录?

大多数情况下,我们不需要从表中选择所有行。我们有时可能需要从表中检索特定数量的记录,从某个特定索引开始。假设,我们有一个包含 10 条记录的表。我们需要从3日开始在表中选择5行第三排。

这是使用 LIMIT 和 OFFSET 子句以及 SELECT 语句完成的。LIMIT 用于指定要检索的行数。OFFSET 用于指定要从中获取行的起始位置。如果你想获取从3开始数据RD行,偏移量必须为2。

语法

SELECT * FROM table_name LIMIT no_of_rows OFFSET starting index of row

在 python 中使用 MySQL 从表中选择特定记录的步骤

  • 导入 MySQL 连接器

  • 使用连接器建立连接 connect()

  • 使用cursor()方法创建游标对象

  • 使用适当的 mysql 语句创建查询

  • 使用execute()方法执行 SQL 查询

  • 关闭连接

假设我们有下表名为“学生” -

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

示例

假设我们想选择3行从2日开始第二排。

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

上面的代码取和打印3个记录从2行。

输出结果

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

猜你喜欢