SQLAlchemy Core - Verwenden von Funktionen

Einige der in SQLAlchemy verwendeten wichtigen Funktionen werden in diesem Kapitel erläutert.

Standard SQL hat viele Funktionen empfohlen, die von den meisten Dialekten implementiert werden. Sie geben einen einzelnen Wert basierend auf den an sie übergebenen Argumenten zurück. Einige SQL-Funktionen verwenden Spalten als Argumente, während andere generisch sind.Thefunc keyword in SQLAlchemy API is used to generate these functions.

In SQL ist now () eine generische Funktion. Die folgenden Anweisungen rendern die Funktion now () mit func -

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

Das Beispielergebnis des obigen Codes kann wie folgt aussehen:

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

Auf der anderen Seite wird die Funktion count (), die die Anzahl der aus einer Tabelle ausgewählten Zeilen zurückgibt, durch folgende Verwendung von func - gerendert.

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

Aus dem obigen Code wird die Anzahl der Zeilen in der Schülertabelle abgerufen.

Einige integrierte SQL-Funktionen werden anhand der Employee-Tabelle mit den folgenden Daten demonstriert:

ICH WÜRDE Name Markierungen
1 Kamal 56
2 Fernandez 85
3 Sunil 62
4 Bhaskar 76

Die Funktion max () wird implementiert, indem die Verwendung von func aus SQLAlchemy verwendet wird. Dies führt zu 85, den insgesamt erreichten Höchstnoten -

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

In ähnlicher Weise wird die Funktion min (), die 56 Mindestmarkierungen zurückgibt, durch folgenden Code gerendert:

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

Die AVG () -Funktion kann also auch mithilfe des folgenden Codes implementiert werden:

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

Functions are normally used in the columns clause of a select statement. 
They can also be given label as well as a type. A label to function allows the result 
to be targeted in a result row based on a string name, and a type is required when 
you need result-set processing to occur.from sqlalchemy.sql import func

result = conn.execute(select([func.max(students.c.lastname).label('Name')]))

print (result.fetchone())