การดึงข้อมูลบันทึกด้วยคำสั่ง SQL Query ไปยังฐานข้อมูลใน Python
ในโค้ดทดสอบคำสั่ง SQL Query มีคำสั่ง
SELECT ซึ่งทำหน้าที่ดึงข้อมูล
ออกจากฐานข้อมูล ทีนี้มาทำความเข้าใจ
ไวยากรณ์ของมันให้ละเอียดขึ้น นี่คือไวยากรณ์:
query = "SELECT * FROM ตาราง WHERE เงื่อนไข"
หลังชื่อตารางสามารถเพิ่มคำสั่ง
WHERE ได้ โดยในนั้นกำหนด
เงื่อนไขสำหรับเลือกระเบียนที่ต้องการได้ อนุญาตให้ใช้
การดำเนินการเปรียบเทียบต่อไปนี้: =,
!=, <>, <, >,
<=, >=
มาดูการใช้งานของมันผ่านตัวอย่างกัน
ตัวอย่าง
เลือกผู้ใช้ที่มี id เท่ากับ 2:
query = "SELECT * FROM users WHERE id=2"
ผลลัพธ์ของโค้ดที่ทำงาน:
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
ตัวอย่าง
เลือกผู้ใช้ที่มี id มากกว่า 2:
query = "SELECT * FROM users WHERE id>2"
ผลลัพธ์ของโค้ดที่ทำงาน:
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 4, 'name': 'user4', 'age': 30, 'salary': 900}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
{'id': 6, 'name': 'user6', 'age': 28, 'salary': 900}
ตัวอย่าง
เลือกผู้ใช้ที่มี id มากกว่าหรือ
เท่ากับ 2:
query = "SELECT * FROM users WHERE id>=2"
ผลลัพธ์ของโค้ดที่ทำงาน:
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 4, 'name': 'user4', 'age': 30, 'salary': 900}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
{'id': 6, 'name': 'user6', 'age': 28, 'salary': 900}
ตัวอย่าง
เลือกผู้ใช้ที่มี id ไม่เท่ากับ
2:
query = "SELECT * FROM users WHERE id!=2"
ผลลัพธ์ของโค้ดที่ทำงาน:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 4, 'name': 'user4', 'age': 30, 'salary': 900}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
{'id': 6, 'name': 'user6', 'age': 28, 'salary': 900}
ตัวอย่าง
แทนที่คำสั่ง != สามารถเขียน
คำสั่ง <> ได้:
query = "SELECT * FROM users WHERE id<>2"
ตัวอย่าง
เลือกผู้ใช้ที่มีชื่อ 'user1'
ที่นี่มีรายละเอียดสำคัญรอเราอยู่: เนื่องจาก
ชื่อเป็นสตริง จึงจำเป็นต้อง
ใส่ไว้ในเครื่องหมายคำพูด:
query = "SELECT * FROM users WHERE name='user1'"
ผลลัพธ์ของโค้ดที่ทำงาน:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
ตัวอย่าง
หากคำสั่ง WHERE ไม่มีอยู่
จะเลือกทุกระเบียนจากตาราง มาลอง
เลือกพนักงานทุกคนกัน:
query = "SELECT * FROM users"
ผลลัพธ์ของโค้ดที่ทำงาน:
{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400}
{'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}
{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}
{'id': 4, 'name': 'user4', 'age': 30, 'salary': 900}
{'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}
{'id': 6, 'name': 'user6', 'age': 28, 'salary': 900}
โจทย์ฝึกปฏิบัติ
เลือกผู้ใช้ที่มี id เท่ากับ 3
เลือกผู้ใช้ที่มีเงินเดือน 900
เลือกผู้ใช้ที่มีอายุ 23 ปี
เลือกผู้ใช้ที่มีเงินเดือนมากกว่า 400
เลือกผู้ใช้ที่มีเงินเดือนเท่ากับหรือ
มากกว่า 500
เลือกผู้ใช้ที่มีเงินเดือน NOT เท่ากับ
500
เลือกผู้ใช้ที่มีเงินเดือนเท่ากับหรือ
น้อยกว่า 500