SQLAlchemy Core - Menggunakan Fungsi
Beberapa fungsi penting yang digunakan dalam SQLAlchemy dibahas dalam bab ini.
SQL standar telah merekomendasikan banyak fungsi yang diimplementasikan oleh kebanyakan dialek. Mereka mengembalikan satu nilai berdasarkan argumen yang diteruskan padanya. Beberapa fungsi SQL mengambil kolom sebagai argumen sedangkan beberapa bersifat umum.Thefunc keyword in SQLAlchemy API is used to generate these functions.
Dalam SQL, now () adalah fungsi generik. Pernyataan berikut membuat fungsi now () menggunakan func -
from sqlalchemy.sql import func
result = conn.execute(select([func.now()]))
print (result.fetchone())
Contoh hasil kode diatas dapat dilihat pada gambar dibawah -
(datetime.datetime(2018, 6, 16, 6, 4, 40),)
Di sisi lain, fungsi count () yang mengembalikan jumlah baris yang dipilih dari tabel, diberikan dengan mengikuti penggunaan func -
from sqlalchemy.sql import func
result = conn.execute(select([func.count(students.c.id)]))
print (result.fetchone())
Dari kode diatas akan diambil hitungan baris pada tabel siswa.
Beberapa fungsi SQL bawaan didemonstrasikan menggunakan tabel Karyawan dengan data berikut -
Indo | Nama | Tanda |
---|---|---|
1 | Kamal | 56 |
2 | Fernandez | 85 |
3 | Sunil | 62 |
4 | Bhaskar | 76 |
Fungsi max () diimplementasikan dengan mengikuti penggunaan func dari SQLAlchemy yang akan menghasilkan 85, total nilai maksimum yang diperoleh -
from sqlalchemy.sql import func
result = conn.execute(select([func.max(employee.c.marks)]))
print (result.fetchone())
Demikian pula, fungsi min () yang akan mengembalikan 56, tanda minimum, akan dirender dengan kode berikut -
from sqlalchemy.sql import func
result = conn.execute(select([func.min(employee.c.marks)]))
print (result.fetchone())
Jadi, fungsi AVG () juga dapat diimplementasikan dengan menggunakan kode di bawah ini -
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())