Back to questions
Junior — Middle
62
Как отличить использование ORM от написания прямых SQL-запросов при работе с базой данных?
Companies where asked
GGSel
Answer from AI
sobes.tech AI
ORM (Object-Relational Mapping) позволяет работать с базой данных через объекты и методы языка программирования, скрывая детали SQL-запросов. Вместо написания SQL вручную, вы оперируете классами и их атрибутами, а ORM генерирует и выполняет SQL за вас.
Прямые SQL-запросы — это когда вы пишете текстовые запросы SQL явно и отправляете их в базу данных, например, через курсор.
Пример с использованием SQLAlchemy ORM в Python:
# ORM
user = session.query(User).filter(User.id == 1).first()
print(user.name)
Пример прямого SQL-запроса:
cursor.execute("SELECT name FROM users WHERE id = %s", (1,))
name = cursor.fetchone()[0]
print(name)
Отличие в уровне абстракции: ORM скрывает SQL, работает с объектами, а прямой SQL требует писать запросы вручную и обрабатывать результаты.