Встречается на собеседованиях • сегодня

Какой уровень запросов делал в SQLAlchemy

SQLAlchemy поддерживает два основных уровня работы с SQL:

  1. Core – низкоуровневый API, близкий к SQL. Работает с таблицами, соединениями, выражениями. Пример:
python
from sqlalchemy import create_engine, Table, Column, Integer, String, MetaData

engine = create_engine('sqlite:///example.db')
metadata = MetaData()
users = Table('users', metadata,
    Column('id', Integer, primary_key=True),
    Column('name', String),
)
metadata.create_all(engine)
  1. ORM (Object Relational Mapper) – высокоуровневый API, где таблицы отображаются на Python-классы. Пример:
python
from sqlalchemy.orm import declarative_base, sessionmaker

Base = declarative_base()
class User(Base):
    __tablename__ = 'users'
    id = Column(Integer, primary_key=True)
    name = Column(String)

Session = sessionmaker(bind=engine)
session = Session()
user = User(name='Alice')
session.add(user)
session.commit()

Различия:

  • Core быстрее и гибче для сложных запросов.
  • ORM удобнее для бизнес-логики, но может генерировать неоптимальные SQL.
  • ORM использует Core "под капотом".
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы