Session ile Sorgulama
Verileri okuyun ve filtreleyin
Session ile Sorgulama, CoddyKit'te ücretsiz bir Python Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Python Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Python Academy kursu toplamda 4 dersten oluşur.
Oturum
ORM tüm işlerini bir Oturum üzerinden gerçekleştirir. Yeni, değiştirilmiş ve silinmiş nesneleri izleyip veritabanıyla iletişim kurarak bir iş birimini yönetir.
from sqlalchemy import create_engine
from sqlalchemy.orm import Session
engine = create_engine('sqlite:///:memory:')
with Session(engine) as session:
print('Session open:', session)Nesne Ekleme
session.add() yeni bir nesneyi hazırlık aşamasına alır. Siz commit() çağırana kadar veritabanına hiçbir şey yazılmaz.
from sqlalchemy.orm import Session
# session.add(user) stages it
# session.commit() writes it
print('add stages, commit saves')Değişiklikleri Kalıcılaştırma
session.commit() bekleyen değişiklikleri veritabanına gönderir ve işlemi tamamlayarak bunları kalıcı hale getirir.
# with Session(engine) as session:
# session.add(User(name='Alice'))
# session.commit()
print('commit persists the work')select() ile Sorgulama
Modern SQLAlchemy, verileri oturum üzerinden çalıştırılan select() ile okur. scalars() model örneklerini döndürür.
from sqlalchemy import select
# stmt = select(User)
# users = session.scalars(stmt).all()
print('select(User) then scalars().all()')Tüm Satırları Alma
session.scalars(select(User)).all() tablodaki tüm User nesnelerinin bir listesini döndürür.
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')where() ile Filtreleme
Filtrelemek için bir where() koşulu ekleyin. Eşlenmiş bir sütunu normal bir Python işleciyle karşılaştırın.
from sqlalchemy import select
# stmt = select(User).where(User.age > 28)
# adults = session.scalars(stmt).all()
print('where(User.age > 28) filters rows')Tek Nesne Alma
session.scalars(stmt).first() ilk eşleşmeyi veya None değerini döndürür. one() tam olarak bir satır bekler; aksi durumda hata verir.
from sqlalchemy import select
# stmt = select(User).where(User.name == 'Alice')
# user = session.scalars(stmt).first()
print('first() = first match or None')Birincil Anahtarla Arama
session.get(User, 1), tek bir nesneyi birincil anahtarına göre getirmenin en hızlı yoludur.
# user = session.get(User, 1)
# print(user.name)
print('session.get(Model, pk) fetches by id')Sonuçları Sıralama
Sıralamak için order_by() çağrısını zincirleyin. Azalan sıralama için bir sütun üzerinde .desc() kullanın.
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')Nesne Güncelleme
Yüklenmiş bir nesnenin özniteliğini değiştirin, ardından commit() çağrısını yapın. Oturum değişikliği algılar ve bir UPDATE komutu gönderir.
# user = session.get(User, 1)
# user.name = 'Alicia'
# session.commit() # auto UPDATE
print('Edit attribute, then commit')Nesne Silme
session.delete(obj) bir nesneyi silinmek üzere işaretler. DELETE işlemi bir sonraki commit sırasında gerçekleştirilir.
# user = session.get(User, 1)
# session.delete(user)
# session.commit() # row removed
print('delete(obj) then commit removes the row')Hızlı Kontrol
Oturum bilginizi sınayın.
Özet
Oturum üzerinden verileri okumayı ve değiştirmeyi öğrendiniz.
Sessioniş biriminizi izleradd()hazırlık aşamasına alır,commit()kalıcılaştırırselect()+scalars()nesneleri okur;where()filtrelersession.get()birincil anahtara göre getirir; düzenlemeler vedelete()commit sırasında uygulanır
Sıkça Sorulan Sorular
“Session ile Sorgulama” dersi ücretsiz mi?
Evet — “Session ile Sorgulama” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Python Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Python Academy kursu toplamda 4 dersten oluşur.
“Session ile Sorgulama” dersinde ne öğreneceğim?
Verileri okuyun ve filtreleyin Python Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Python Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Python Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“Session ile Sorgulama” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Python Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Python Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- SQLAlchemy Core ve ORM Karşılaştırması
- Modelleri Tanımlama
- Session ile Sorgulama
- İlişkiler ve Birleştirmeler