0Pricing
Python Academy · Pelajaran

Membuat Kueri dengan Session

Baca dan saring data

Membuat Kueri dengan Session adalah pelajaran Python Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Python Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Python Academy mencakup 4 pelajaran total.

Sesi

ORM menjalankan seluruh pekerjaannya melalui Sesi. Sesi mengelola satu unit kerja: melacak objek baru, yang berubah, dan yang dihapus, serta berkomunikasi dengan basis data.

from sqlalchemy import create_engine
from sqlalchemy.orm import Session
engine = create_engine('sqlite:///:memory:')
with Session(engine) as session:
    print('Session open:', session)

Menambahkan Objek

session.add() menyiapkan objek baru. Tidak ada data yang dikirim ke basis data sampai Anda menjalankan commit().

from sqlalchemy.orm import Session
# session.add(user) stages it
# session.commit() writes it
print('add stages, commit saves')

Menerapkan Perubahan

session.commit() menerapkan perubahan yang tertunda dan menyelesaikan transaksi sehingga perubahan tersebut menjadi permanen.

# with Session(engine) as session:
#     session.add(User(name='Alice'))
#     session.commit()
print('commit persists the work')

Melakukan Kueri dengan select()

SQLAlchemy modern membaca data dengan select(), yang dijalankan melalui sesi. scalars() mengembalikan instans model.

from sqlalchemy import select
# stmt = select(User)
# users = session.scalars(stmt).all()
print('select(User) then scalars().all()')

Mendapatkan Semua Baris

session.scalars(select(User)).all() mengembalikan daftar semua objek pengguna dalam tabel.

from sqlalchemy import select
# all_users = session.scalars(select(User)).all()
# for u in all_users:
#     print(u.name)
print('all() returns a list of objects')

Memfilter dengan where()

Tambahkan klausa where() untuk memfilter data. Bandingkan kolom yang dipetakan dengan operator Python biasa.

from sqlalchemy import select
# stmt = select(User).where(User.age > 28)
# adults = session.scalars(stmt).all()
print('where(User.age > 28) filters rows')

Mendapatkan Satu Objek

session.scalars(stmt).first() mengembalikan hasil pertama atau None. one() mengharapkan tepat satu baris dan akan menimbulkan kesalahan jika jumlahnya berbeda.

from sqlalchemy import select
# stmt = select(User).where(User.name == 'Alice')
# user = session.scalars(stmt).first()
print('first() = first match or None')

Mencari berdasarkan Kunci Utama

session.get(User, 1) adalah cara tercepat untuk mengambil satu objek berdasarkan kunci utamanya.

# user = session.get(User, 1)
# print(user.name)
print('session.get(Model, pk) fetches by id')

Mengurutkan Hasil

Rangkaikan order_by() untuk mengurutkan data. Gunakan .desc() pada kolom untuk urutan menurun.

from sqlalchemy import select
# stmt = select(User).order_by(User.age.desc())
# sorted_users = session.scalars(stmt).all()
print('order_by(User.age.desc()) sorts results')

Memperbarui Objek

Ubah atribut pada objek yang telah dimuat, lalu jalankan commit(). Sesi mendeteksi perubahan tersebut dan mengeluarkan UPDATE.

# user = session.get(User, 1)
# user.name = 'Alicia'
# session.commit()  # auto UPDATE
print('Edit attribute, then commit')

Menghapus Objek

session.delete(obj) menandai objek untuk dihapus. Perintah DELETE dijalankan pada commit berikutnya.

# user = session.get(User, 1)
# session.delete(user)
# session.commit()  # row removed
print('delete(obj) then commit removes the row')

Pemeriksaan Singkat

Uji pengetahuan Anda tentang sesi.

Rangkuman

Anda telah mempelajari cara membaca dan mengubah data melalui Sesi.

  • Session melacak unit kerja Anda
  • add() menyiapkan data, sedangkan commit() menyimpannya secara permanen
  • select() + scalars() membaca objek; where() memfilter data
  • session.get() mengambil data berdasarkan kunci utama; pengeditan dan delete() diterapkan saat commit

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Membuat Kueri dengan Session” gratis?

Ya — teks lengkap “Membuat Kueri dengan Session” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Python Academy, upgrade ke CoddyKit PRO. Kursus Python Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Membuat Kueri dengan Session”?

Baca dan saring data Kamu berlatih Python Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Python Academy?

Tidak diperlukan pengalaman sebelumnya. Python Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Membuat Kueri dengan Session” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Python Academy ini?

Ya. Setiap pelajaran Python Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. SQLAlchemy Core vs ORM
  2. Mendefinisikan Model
  3. Membuat Kueri dengan Session
  4. Relasi dan Join
← Kembali ke Python Academy