Kết nối Python với SQL – lấy dữ liệu và trực quan hóa
Bạn có dữ liệu trong MySQL, PostgreSQL hoặc SQL Server – nhưng muốn phân tích bằng Python, vẽ biểu đồ với pandas/matplotlib hoặc tạo dashboard? → Trong bài viết này, bạn sẽ học cách kết nối Python với SQL, lấy dữ liệu ra DataFrame, và trực quan hóa ngay bằng biểu đồ.
Nội dung bài viết
1. Vì sao nên dùng Python + SQL?
SQL |
Python |
Truy vấn dữ liệu gốc |
Phân tích sâu hơn, xử lý logic phức tạp |
Tốt cho thao tác tập trung |
Tốt cho trực quan hóa, dashboard, ML, tự động hóa |
Cơ sở dữ liệu quan hệ |
Công cụ xử lý mạnh (pandas, seaborn, matplotlib...) |
👉 Kết hợp SQL + Python = workflow phân tích mạnh mẽ, linh hoạt, tự động.
2. Kết nối Python với SQL – Step-by-Step
🔌 a. Cài thư viện kết nối
pip install sqlalchemy pymysql pandas
📌 Tùy hệ quản trị CSDL bạn dùng, thay pymysql bằng:
- psycopg2 (PostgreSQL)
- pyodbc (SQL Server)
🔑 b. Thiết lập kết nối SQLAlchemy
from sqlalchemy import create_engine
import pandas as pd
# Kết nối MySQL
engine = create_engine("mysql+pymysql://username:password@host:port/database")
# Ví dụ:
# engine = create_engine("mysql+pymysql://root:123456@localhost:3306/sales_db")
📥 c. Lấy dữ liệu SQL thành pandas DataFrame
query = "SELECT customer_name, revenue, created_at FROM customers"
df = pd.read_sql(query, engine)
print(df.head())
🎯 Giờ bạn đã có DataFrame từ SQL – có thể xử lý, vẽ biểu đồ, export…
3. Trực quan hóa dữ liệu bằng Python
📊 a. Vẽ biểu đồ cột (Top khách hàng)
import matplotlib.pyplot as plt
top = df.groupby("customer_name")["revenue"].sum().sort_values(ascending=False).head(5)
top.plot(kind="bar", figsize=(8,4), title="Top 5 khách hàng theo doanh thu")
plt.ylabel("Doanh thu (VNĐ)")
plt.xlabel("Khách hàng")
plt.tight_layout()
plt.show()
📈 b. Vẽ biểu đồ đường (Doanh thu theo thời gian)
df["created_at"] = pd.to_datetime(df["created_at"])
df_by_date = df.groupby(df["created_at"].dt.to_period("M"))["revenue"].sum()
df_by_date.plot(kind="line", marker="o", title="Doanh thu theo tháng")
plt.ylabel("Doanh thu")
plt.xlabel("Tháng")
plt.tight_layout()
plt.show()
4. Checklist kết nối Python + SQL
✅ Cài thư viện phù hợp với hệ CSDL
✅ Kết nối bằng SQLAlchemy
✅ Dùng pd.read_sql() để lấy data
✅ Làm sạch, xử lý logic trong pandas
✅ Trực quan hóa bằng matplotlib / seaborn
5. Ứng dụng thực tế
Ngành/Nghề |
Ứng dụng |
Kinh doanh |
Lấy dữ liệu bán ang từ SQL → vẽ biểu đồ top sản phẩm |
Giáo dục |
Trích học viên đăng ký theo ngày → vẽ biểu đồ đăng ký |
Tài chính |
Phân tích dòng tiền theo kỳ từ bảng giao dịch ngân hàng |
HR |
Truy xuất ứng viên theo trạng thái → vẽ biểu đồ tuyển dụng |
Học Python + SQL thực chiến tại MCI Academy
Bạn muốn học cách kết nối dữ liệu từ SQL để trực quan hóa nhanh, tự động hóa phân tích?
→ Python + SQL là combo mạnh nhất cho Data Analyst hiện đại.
🎓 Khóa học Python for Analyst – MCI Academy
- Từ cơ bản đến kết nối database thật
- Làm việc với SQL (MySQL/PostgreSQL), Excel, Google Sheets
- Vẽ dashboard bằng Python (pandas + matplotlib/seaborn)
- Dự án cuối: Tự động kết nối CSDL → xử lý → vẽ report → gửi mail
📞 Hotline: 0352.433.233
📧 Email: cskh@mcivietnam.com
👉 Đăng ký ngay để thành thạo kết nối Python + SQL và xây dựng báo cáo như một Data Analyst thực thụ!

Các khóa học
- Mastering AWS : From Basics to Applications Specialized
- Data Engineer Track Specialized
- Combo Data Engineering Professional Hot
- AI & DASHBOARD – CHỈ 990K Hot
- Combo Python Level 1 & Level 2 Bestseller
- Business Intelligence Track Hot
- Data Science Track Bestseller
- Data Analyst Professional (Data Analyst with Python Track) Bestseller
- RPA UiPath Nâng Cao: Chiến Thuật Automation Cho Chuyên Gia Specialized
- RPA UiPath cho Người Mới Bắt Đầu: Thành Thạo Automation Chỉ Trong 1 Ngày Specialized
- Business Analyst Fast Track Bestseller
- Business Analyst Bestseller
Đăng ký tư vấn khóa học
*Vui lòng nhập số điện thoại của bạn
*Vui lòng nhập họ tên của bạn
*Vui lòng chọn giới tính
*Vui lòng chọn 1 trường