Список возврата и скаляры
Есть несколько методов объекта 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 -
SELECT customers.id
AS customers_id, customers.name
AS customers_name, customers.address
AS customers_address, customers.email
AS customers_email
FROM customers
WHERE customers.id = ?