Sobes.tech
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 требует писать запросы вручную и обрабатывать результаты.