SQLAlchemy Core - İşlevleri Kullanma
SQLAlchemy'de kullanılan bazı önemli işlevler bu bölümde tartışılmaktadır.
Standart SQL, çoğu lehçe tarafından uygulanan birçok işlevi önermiştir. Kendisine iletilen argümanlara göre tek bir değer döndürürler. Bazı SQL işlevleri sütunları bağımsız değişken olarak alırken bazıları geneldir.Thefunc keyword in SQLAlchemy API is used to generate these functions.
SQL'de artık () genel bir işlevdir. Aşağıdaki ifadeler now () işlevini func -
from sqlalchemy.sql import func
result = conn.execute(select([func.now()]))
print (result.fetchone())
Yukarıdaki kodun örnek sonucu aşağıda gösterildiği gibi olabilir -
(datetime.datetime(2018, 6, 16, 6, 4, 40),)
Öte yandan, bir tablodan seçilen satır sayısını döndüren count () işlevi, func -
from sqlalchemy.sql import func
result = conn.execute(select([func.count(students.c.id)]))
print (result.fetchone())
Yukarıdaki koddan öğrenci tablosundaki satır sayısı getirilecektir.
Bazı yerleşik SQL işlevleri, aşağıdaki verilerle Çalışan tablosu kullanılarak gösterilir -
İD | İsim | İşaretler |
---|---|---|
1 | Kamal | 56 |
2 | Fernandez | 85 |
3 | Sunil | 62 |
4 | Bhaskar | 76 |
Max () işlevi, SQLAlchemy'den func kullanımı takip edilerek uygulanır ve bu da 85 ile sonuçlanır, toplam maksimum puan -
from sqlalchemy.sql import func
result = conn.execute(select([func.max(employee.c.marks)]))
print (result.fetchone())
Benzer şekilde, 56, minimum işareti döndürecek min () işlevi, aşağıdaki kodla oluşturulacaktır -
from sqlalchemy.sql import func
result = conn.execute(select([func.min(employee.c.marks)]))
print (result.fetchone())
Bu nedenle, AVG () işlevi aşağıdaki kod kullanılarak da uygulanabilir -
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())