เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การเลือกข้อมูลจากตาราง: raw SQL

อย่างที่เห็นในวิดีโอ การเข้าถึงและจัดการข้อมูลในฐานข้อมูลนั้น เราต้องสร้างการเชื่อมต่อก่อนโดยใช้เมธอด .connect() บน engine เหตุผลคือฟังก์ชัน create_engine() ที่ใช้ไปก่อนหน้านี้จะคืนค่า instance ของ engine เท่านั้น แต่ยังไม่ได้เปิดการเชื่อมต่อจริง จนกว่าจะมีการเรียกใช้งานที่ต้องการการเชื่อมต่อ เช่น การรันคิวรี

เมื่อใช้ความรู้ SQL ที่เพิ่งเรียนไปร่วมกับเมธอด .execute() บน connection เราสามารถใช้ raw SQL query เพื่อดึงข้อมูลทุกแถวจากตาราง census ได้ อ็อบเจกต์ที่เมธอด .execute() คืนค่ามาเรียกว่า ResultProxy จากนั้นเราสามารถเรียกเมธอด .fetchall() บน ResultProxy เพื่อรับผลลัพธ์ที่เรียกว่า ResultSet

ในแบบฝึกหัดนี้ จะใช้การเขียนคิวรี SQL แบบดั้งเดิม โปรดสังเกตว่าเมื่อรันคิวรีด้วย raw SQL จะเป็นการคิวรีตารางในฐานข้อมูลโดยตรง โดยไม่จำเป็นต้องผ่านขั้นตอน reflection

ในแบบฝึกหัดถัดไป เราจะเริ่มใช้ SQLAlchemy และทำความเข้าใจข้อดีของมัน ลุยกันเลย!

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Python เบื้องต้นสำหรับฐานข้อมูล

ดูคอร์ส

คำแนะนำการฝึกหัด

  • ใช้เมธอด .connect() ของ engine เพื่อสร้างการเชื่อมต่อ
  • เขียน SQL statement เพื่อเลือกทุกคอลัมน์จาก census แล้วเก็บไว้ในตัวแปร stmt โดย SQL statement ต้องอยู่ในรูปแบบ string
  • ใช้เมธอด .execute() และ .fetchall() บน connection แล้วเก็บผลลัพธ์ไว้ในตัวแปร results จำไว้ว่า .execute() ต้องมาก่อน .fetchall() และต้องส่ง stmt เข้าไปใน .execute() ด้วย
  • แสดงผล results

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

from sqlalchemy import create_engine
engine = create_engine('sqlite:///census.sqlite')

# Create a connection on engine
connection = ___

# Build select statement for census table: stmt
stmt = ____

# Execute the statement and fetch the results: results
results = ____

# Print results
print(____)
แก้ไขและรันโค้ด