Существует несколько методов объекта Query, которые немедленно выдают SQL и возвращают значение, содержащее результаты загруженной базы данных.
Вот краткое изложение списка возврата и скаляров —
все()
Возвращает список. Ниже приведена строка кода для функции all ().
session.query(Customers).all()
Консоль Python отображает следующее выражение SQL:
SELECT customers.id AS customers_id, customers.name AS customers_name, customers.address AS customers_address, customers.email AS customers_email FROM customers
первый()
Он применяет ограничение в единицу и возвращает первый результат в виде скаляра.
SELECT customers.id AS customers_id, customers.name AS customers_name, customers.address AS customers_address, customers.email AS customers_email FROM customers LIMIT ? OFFSET ?
Связанные параметры для LIMIT — 1, а для OFFSET — 0.
один()
Эта команда полностью выбирает все строки, и, если в результате нет ни одного идентификатора объекта или составной строки, возникает ошибка.
session.query(Customers).one()
С несколькими найденными рядами —
MultipleResultsFound: Multiple rows were found for one()
Строки не найдены —
NoResultFound: No row was found for one()
Метод one () полезен для систем, которые по-разному будут обрабатывать «элементы не найдены» и «несколько элементов найдены».
скаляр ()
Он вызывает метод one () и в случае успеха возвращает первый столбец строки следующим образом:
session.query(Customers).filter(Customers.id == 3).scalar()
Это генерирует следующую инструкцию SQL —