Введение в методы SQLAlchemy: подробное руководство

В SQLAlchemy, популярной библиотеке Python для работы с базами данных, доступно множество методов для взаимодействия с базой данных и выполнения различных операций. Вот некоторые часто используемые методы и примеры кода:

  1. create_all(): создает все таблицы, определенные в моделях SQLAlchemy.

    from sqlalchemy import create_engine, MetaData
    engine = create_engine('sqlite:///mydatabase.db')
    metadata = MetaData(engine)
    metadata.create_all()
  2. session.add(): добавляет в сеанс новую запись, которую позже можно зафиксировать в базе данных.

    from sqlalchemy.orm import sessionmaker
    from mymodels import User, engine
    Session = sessionmaker(bind=engine)
    session = Session()
    new_user = User(name='John Doe', age=30)
    session.add(new_user)
    session.commit()
  3. session.query(): выполняет запрос в сеансе и возвращает результаты.

    from mymodels import User, engine
    Session = sessionmaker(bind=engine)
    session = Session()
    users = session.query(User).all()
    for user in users:
    print(user.name, user.age)
  4. filter(): добавляет в запрос условие фильтра.

    from mymodels import User, engine
    Session = sessionmaker(bind=engine)
    session = Session()
    users = session.query(User).filter(User.age > 25).all()
    for user in users:
    print(user.name, user.age)
  5. update(): обновляет записи в базе данных на основе условия фильтра.

    from mymodels import User, engine
    Session = sessionmaker(bind=engine)
    session = Session()
    session.query(User).filter(User.name == 'John Doe').update({'age': 35})
    session.commit()
  6. delete(): удаляет записи из базы данных на основе условия фильтра.

    from mymodels import User, engine
    Session = sessionmaker(bind=engine)
    session = Session()
    session.query(User).filter(User.name == 'John Doe').delete()
    session.commit()

Это всего лишь несколько примеров методов, доступных в SQLAlchemy. Библиотека предоставляет гораздо больше методов и функций для выполнения сложных операций с базой данных.