Некоторые важные функции, используемые в 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 () также может быть реализована с использованием приведенного ниже кода: