SQLAlchemy - это популярная библиотека для работы с базами данных в Python. Query Builder в SQLAlchemy позволяет создавать SQL-запросы программным путем, используя объекты Python, что делает код более читаемым и обеспечивает безопасность от SQL инъекций.
Для создания Query Builder кода в SQLAlchemy необходимо использовать методы объектов, представляющих таблицы и запросы. Вот пример того, как можно сформировать SQL-запрос с помощью Query Builder в SQLAlchemy:
1. Импортировать необходимые классы и функции:
from sqlalchemy import create_engine, Column, Integer, String from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import sessionmaker
2. Определить класс, представляющий таблицу в базе данных:
Base = declarative_base() class User(Base): __tablename__ = 'users' id = Column(Integer, primary_key=True) name = Column(String) age = Column(Integer)
3. Создать объект сессии для взаимодействия с базой данных:
engine = create_engine('sqlite:///example.db') Base.metadata.create_all(engine) Session = sessionmaker(bind=engine) session = Session()
4. Сформировать SQL-запрос с использованием Query Builder:
query = session.query(User).filter(User.age > 18).order_by(User.name)
5. Выполнить запрос и получить результат:
results = query.all() for user in results: print(user.name, user.age)
Это простой пример того, как сформировать SQL-запрос с помощью Query Builder в SQLAlchemy. SQLAlchemy позволяет создавать более сложные запросы, применять агрегатные функции, объединения и другие операции для взаимодействия с базой данных. Важно помнить о безопасности данных и использовать параметризованные запросы для предотвращения SQL инъекций.