Updated: 31 Jul 2026
.
SQLAlchemy เป็น Python package ยอดนิยมสำหรับเชื่อมต่อกับ database ทั้งสำหรับพัฒนาเว็บแอปพลิเคชัน (web application) และการวิเคราะห์ข้อมูล (data analytics)
นอกจาก SQLAlchemy จะช่วยให้เราเชื่อมต่อกับ database หลากหลายประเภท ไม่ว่าจะเป็น:
- SQLite
- PostgreSQL
- MySQL
- และอีกมากมาย
SQLAlchemy ยังช่วยให้เราทำงานกับ database ได้โดยไม่ต้องรู้ SQL (Structured Query Language) ก็ได้ โดยทำหน้าที่เป็น Object-Relational Mapper (ORM) ที่แปลงข้อมูลใน database ให้เป็น Python object ที่เราใช้งานต่อได้
ในบทความนี้ ผมจะพาทุกคนไปดูวิธีใช้ SQLAlchemy คู่กับ Pandas เพื่อวิเคราะห์ข้อมูลใน database โดยไม่ต้องออกจาก Python กัน
ถ้าพร้อมแล้ว ไปเริ่มกันเลย
🚀 Overview
การทำงานกับ SQLAlchemy มีอยู่ 5 ขั้นตอน:
- เชื่อมต่อกับ database
- ดูโครงสร้าง database
- เขียน SQL
- โหลดข้อมูล
- วิเคราะห์ข้อมูล
เราไปดูตัวอย่าง ผ่านการทำงานกับ Chinook SQLite ที่มีข้อมูลของร้านขาย digital media (เช่น ข้อมูลลูกค้า เพลง นักร้อง) กัน
1️⃣ Step 1. เชื่อมต่อกับ Database
ในขั้นแรก เราจะเชื่อมกับ database โดยสร้าง Engine object ที่เก็บข้อมูลการเชื่อมต่อ database ไว้ให้:
# Import the packagefrom sqlalchemy import create_engine# Connect to the databaseengine = create_engine("sqlite:///chinook.sqlite")
2️⃣ Step 2. ดูโครงสร้าง Database
ในขั้นที่ 2 เราจะสำรวจโครงสร้าง database ว่ามี table อะไรอยู่บ้าง:
# Import the packagefrom sqlalchemy import inspect# Get the inspectorinspector = inspect(engine)# List the table namestable_names = inspector.get_table_names()# Print the table namesprint(table_names)
ผลลัพธ์:
[ "Album", "Artist", "Customer", "Employee", "Genre", "Invoice", "InvoiceLine", "MediaType", "Playlist", "PlaylistTrack", "Track",]
3️⃣ Step 3. เขียน SQL
ในขั้นที่ 3 เราจะเขียน SQL สำหรับดึงข้อมูลจาก database:
# Import the packagefrom sqlalchemy import text# Set a queryquery = text( """ SELECT InvoiceId, InvoiceDate, BillingCountry, Total FROM Invoice; """)
Note:
ถ้าใช้ SQL ไม่เป็น เราสามารถใช้ SQLAlchemy เพื่อสร้าง SQL ขึ้นมาให้เราได้ เช่น:
# Import the packagefrom sqlalchemy import select# Create a queryquery = ( select( invoice.c.InvoiceId, invoice.c.InvoiceDate, invoice.c.BillingCountry, invoice.c.Total, ))
4️⃣ Step 4. โหลดข้อมูล
ในขั้นที่ 4 เราจะโหลดข้อมูลเข้ามาใน Python ด้วย Pandas:
# Import the packageimport pandas as pd# Load the tabledf = pd.read_sql( query, engine)# Inspect the dfdf.head()
ผลลัพธ์:

5️⃣ Step 5. วิเคราะห์ข้อมูล
ในขั้นสุดท้าย เราจะวิเคราะห์ข้อมูลด้วย Pandas เช่น หาค่าเฉลี่ยต่อประเทศ:
# Find mean total by country( df .groupby("BillingCountry", as_index=False) .agg(MeanTotal=("Total", "mean")) .sort_values("MeanTotal", ascending=False))
ผลลัพธ์:

💪 Summary
SQLAlchemy เป็น package ที่ช่วยให้เราทำงานกับ database ได้โดยไม่ต้องออกจาก Python และใช้งานง่ายใน 5 ขั้นตอน:
- เชื่อมต่อกับ database
- ดูโครงสร้าง database
- เขียน SQL
- โหลดข้อมูล
- วิเคราะห์ข้อมูล
⏭️ Next
หลังอ่านบทความจบแล้ว ลองใช้ SQLAlchemy เพื่อทำงานกับ database กันดูนะครับ:

Leave a comment