Учебники

Ядро SQLAlchemy — Использование функций

Некоторые важные функции, используемые в SQLAlchemy, обсуждаются в этой главе.

Стандартный SQL рекомендовал много функций, которые реализованы большинством диалектов. Они возвращают одно значение на основе переданных ему аргументов. Некоторые функции SQL принимают столбцы в качестве аргументов, а некоторые являются общими. Ключевое слово func в API SQLAlchemy используется для генерации этих функций .

В SQL now () является универсальной функцией. Следующие операторы отображают функцию now () с использованием func —

from sqlalchemy.sql import func
result = conn.execute(select([func.now()]))
print (result.fetchone())

Пример результата приведенного выше кода может быть таким, как показано ниже —

(datetime.datetime(2018, 6, 16, 6, 4, 40),)

С другой стороны, функция count (), которая возвращает количество строк, выбранных из таблицы, визуализируется следующим использованием func —

from sqlalchemy.sql import func
result = conn.execute(select([func.count(students.c.id)]))
print (result.fetchone())

Из приведенного выше кода будет считаться количество строк в таблице студентов.

Некоторые встроенные функции SQL демонстрируются с использованием таблицы Employee со следующими данными:

Я БЫ название Метки
1 Камаль 56
2 Fernandez 85
3 Сунил 62
4 Bhaskar 76

Функция max () реализована следующим использованием func из SQLAlchemy, в результате чего будет получено 85 баллов —

from sqlalchemy.sql import func
result = conn.execute(select([func.max(employee.c.marks)]))
print (result.fetchone())

Аналогично, функция min (), которая возвращает 56, минимальные оценки, будет отображаться с помощью следующего кода —

from sqlalchemy.sql import func
result = conn.execute(select([func.min(employee.c.marks)]))
print (result.fetchone())

Таким образом, функция AVG () также может быть реализована с использованием приведенного ниже кода: