การจัดการ ResultSet
ทบทวนความแตกต่างระหว่าง ResultProxy กับ ResultSet:
- ResultProxy: อ็อบเจกต์ที่ได้จากเมธอด
.execute()ซึ่งสามารถใช้งานได้หลายรูปแบบเพื่อดึงข้อมูลที่ได้จากคิวรี - ResultSet: ข้อมูลจริงที่ร้องขอในคิวรี โดยใช้เมธอดดึงข้อมูล เช่น
.fetchall()บน ResultProxy
การแยก ResultSet ออกจาก ResultProxy ช่วยให้เราสามารถดึงข้อมูลได้มากหรือน้อยตามต้องการ
เมื่อได้ ResultSet มาแล้ว สามารถใช้ Python เข้าถึงข้อมูลทั้งหมดภายใน
ได้ทั้งด้วยชื่อคอลัมน์และด้วย index แบบ list เช่น ดึงแถวแรกของผลลัพธ์โดยใช้ results[0] จากนั้นกำหนดแถวแรกนั้นให้กับตัวแปร first_row แล้วดึงข้อมูลจากคอลัมน์แรกได้ด้วย first_row[0] หรือระบุชื่อคอลัมน์ เช่น first_row['column_name'] ได้เลย ลองฝึกทำโดยใช้ ResultSet ที่ได้จากตาราง census ในแบบฝึกหัดก่อนหน้า ซึ่งเก็บอยู่ในตัวแปร results
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Python เบื้องต้นสำหรับฐานข้อมูล
คำแนะนำการฝึกหัด
- ดึงแถวแรกของ
resultsแล้วกำหนดให้กับตัวแปรfirst_row - พิมพ์ค่าของคอลัมน์แรกใน
first_row - พิมพ์ค่าของคอลัมน์
'state'ในfirst_row
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Get the first row of the results by using an index: first_row
first_row = ____
# Print the first row of the results
print(first_row)
# Print the first column of the first row by accessing it by its index
print(____)
# Print the 'state' column of the first row by using its name
print(____)