1 - Tạo đối tượng session
Với SQLAlchemy, để có thể thực hiện truy vấn cơ sở dữ liệu, chúng ta sẽ dùng 1 đối tượng session. Đối tượng này sẽ được đính kèm (bind) với engine tương tác cơ sở dữ liệu (xem lại phần 1).from sqlalchemy.orm import sessionmaker Session = sessionmaker(bind=engine) session = Session()
2 - Truy vấn đơn giản
Bây giờ, chúng ta sẽ dùng đối tượng session tạo bên trên, kết hợp với những class schema để thực thi truy vấn. Ví dụ, chúng ta muốn lấy tất cả sản phẩm (Product)products = session.query(Product).all()
Với phương thức all() sẽ trả về một danh sách những products có trong cơ sở dữ liệu. Tại đây, nếu chúng ta muốn xem câu SQL hiển thị thế nào thì chúng ta không cần phương thức all(), và có thể gọi print() để xem câu SQL như sau
sql = session.query(Product) print(sql)
3 - Truy vấn filter
Chắc chắn là cần phải filter theo một điều kiện nào đó. Với SQLAlchemy điều này khá đơn giản với phương thức filter()products = session.query(Product).filter(Product.id == 1).all()
products = session.query(Product).filter(Product.base_url.like('%abc%')).all()
4 - Truy vấn join
session.query(GroupProduct).join(Product).all() session.query(GroupProduct).join(Product).filter(Product.id == 1).all()
5 - Truy vấn với function
Những function như count(), sum()from sqlalchemy import func total = session.query(func.count(GroupProduct.id)).\ join(Product).\ filter(Product.base_url.like('%abc%')).\ scalar() print(total)
No comments:
Post a Comment