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

วิธีตรวจสอบว่ามีเรคคอร์ดอยู่ในตาราง MySQL หรือไม่ด้วย Python


บางครั้งต้องตรวจสอบว่าเรคคอร์ดเฉพาะมีอยู่ในตารางหรือไม่ สามารถทำได้ด้วยคำสั่ง EXISTS ซึ่งคืนค่า TRUE หาก Subquery คืนแถวข้อมูลมาหนึ่งแถวขึ้นไป

ไวยากรณ์

SELECT * FROM table_name WHERE EXISTS(sub_query)

หาก Subquery คืนแถวข้อมูล 1 แถวขึ้นไป EXISTS จะคืน TRUE

ขั้นตอนตรวจสอบเรคคอร์ดในตารางด้วย MySQL ใน Python

  • นำเข้า MySQL Connector

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

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

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

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

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

สมมติว่ามีตาราง Sales ดังนี้:

+------------+---------+
| sale_price | tax     |
+------------+---------+
| 1000       | 200     |
| 500        | 100     |
| 50         | 50      |
| 180        | 180     |
+------------+---------+

ตัวอย่าง

import mysql.connector
db = mysql.connector.connect(
    host="your_host",
    user="your_username",
    password="your_password",
    database="database_name"
)
cursor = db.cursor()
query = "SELECT sale_price FROM Sales WHERE EXISTS(SELECT * FROM Sales WHERE tax > 150)"
cursor.execute(query)
rows = cursor.fetchall()
for row in rows:
    print(row)
db.close()

Subquery คืน TRUE เนื่องจากมีเรคคอร์ดที่ tax มากกว่า 150 ดังนั้น EXISTS จึงคืน TRUE หากไม่มีเรคคอร์ดที่ tax > 150 จะคืน FALSE

ผลลัพธ์

1000
500
180