กรองข้อมูลที่ดึงจากตาราง - แบบพื้นฐาน
เมื่อเชื่อมต่อกับฐานข้อมูลแล้ว ก็ถึงเวลาฝึกกรองข้อมูลในคิวรีกันแล้ว!
อย่างที่กล่าวไว้ในวิดีโอ คลอส where() ใช้สำหรับกรองข้อมูลที่ statement คืนค่ากลับมา ตัวอย่างเช่น หากต้องการดึงข้อมูลทุกระเบียนจากตาราง census ที่มีเพศเป็นหญิง (หรือ 'F') ทำได้ดังนี้:
select([census]).where(census.columns.sex == 'F')
นอกจาก == แล้ว ยังสามารถใช้ตัวดำเนินการเปรียบเทียบของ Python แทบทุกตัว (เช่น <=, != และอื่น ๆ) ใน where() ได้อีกด้วย
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Python เบื้องต้นสำหรับฐานข้อมูล
คำแนะนำการฝึกหัด
- ดึงข้อมูลทุกระเบียนจากตาราง
censusโดยส่งcensusเป็น list ให้กับselect() - เพิ่มคลอส
whereต่อท้ายstmtเพื่อให้คืนค่าเฉพาะระเบียนที่มีstateเป็น'New York' - รัน statement
stmtโดยใช้.execute()กับconnectionแล้วดึงผลลัพธ์ด้วย.fetchall() - วนซ้ำใน
resultsและแสดงคอลัมน์age,sexและpop2000จากแต่ละระเบียน ตัวอย่างเช่น สามารถแสดงค่าageของresultด้วยresult.age
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Create a select query: stmt
stmt = ____
# Add a where clause to filter the results to only those for New York : stmt_filtered
stmt = stmt.____
# Execute the query to retrieve all the data returned: results
results = ____
# Loop over the results and print the age, sex, and pop2000
for ___ in ____:
print(result.age, ____, ____)