SQLAlchemy: làm việc với database bằng Python

Hầu hết ứng dụng đều cần lưu trữ dữ liệu. SQLAlchemy là thư viện ORM phổ biến nhất của Python, cho phép làm việc với database bằng code Python thay vì viết SQL thủ công.

ORM là gì?

ORM (Object-Relational Mapping) ánh xạ bảng database thành class Python, mỗi dòng thành một object. Bạn thao tác dữ liệu bằng Python, ORM tự sinh SQL phía sau.

Cài đặt

pip install sqlalchemy

Định nghĩa model

from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.orm import declarative_base, sessionmaker

Base = declarative_base()

class NguoiDung(Base):
    __tablename__ = "nguoi_dung"
    id = Column(Integer, primary_key=True)
    ten = Column(String)
    email = Column(String)

Kết nối và tạo bảng

engine = create_engine("sqlite:///app.db")
Base.metadata.create_all(engine)
Session = sessionmaker(bind=engine)
session = Session()

Thêm và truy vấn

# Thêm
nd = NguoiDung(ten="Minh", email="[email protected]")
session.add(nd)
session.commit()

# Truy vấn
tat_ca = session.query(NguoiDung).all()
mot = session.query(NguoiDung).filter_by(ten="Minh").first()

Vì sao dùng ORM?

  • Code Python thuần, không trộn SQL.
  • Đổi database (SQLite → PostgreSQL) dễ dàng.
  • Chống SQL injection tự động.

SQLAlchemy là nền tảng của nhiều ứng dụng Python lớn. Nắm vững nó mở ra khả năng xây dựng ứng dụng có cơ sở dữ liệu thực thụ.

Lên đầu trang