Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธีดึงจำนวนเรคคอร์ดเฉพาะจากตารางเริ่มจากแถวที่กำหนดใน Python MySQL


บ่อยครั้งไม่ต้องการดึงทุกแถว ต้องการดึงจำนวนแถวเฉพาะ เริ่มจากดัชนีที่กำหนด เช่น ตารางมี 10 แถว ต้องการ 5 แถว เริ่มจากแถวที่ 3

ใช้ LIMIT และ OFFSET ร่วมกับ SELECT LIMIT ระบุจำนวนแถว OFFSET ระบุตำแหน่งเริ่มต้น (ดัชนีเริ่มจาก 0 ดังนั้นแถวที่ 3 = OFFSET 2)

ไวยากรณ์

SELECT * FROM table_name LIMIT number_of_rows OFFSET starting_index

ขั้นตอนเลือกเรคคอร์ดเฉพาะจากตารางด้วย MySQL ใน Python

  • นำเข้า MySQL Connector

  • สร้างการเชื่อมต่อด้วย connect()

  • สร้างออบเจ็กต์ cursor ด้วย cursor()

  • สร้างคำสั่ง SQL ที่เหมาะสม

  • รันคำสั่งด้วย execute()

  • ปิดการเชื่อมต่อ

ตาราง 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         |
+----------+---------+-----------+------------+

ตัวอย่าง

ดึง 3 แถว เริ่มจากแถวที่ 2 (OFFSET 1)

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

ผลลัพธ์

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