BaşlayınÜcretsiz başlayın

SQLAlchemy ile bir Tablo’dan veri seçme

Şimdiye kadar harika gidiyorsun! Artık SQLAlchemy kullanarak ilk select ifadeni kurma zamanı. SQLAlchemy, veritabanlarıyla etkileşim kurmak için hoş, “Pythonik” bir yol sunar. Bir önceki egzersizde ham SQL kullandığında veritabanını doğrudan sorgulamıştın. SQLAlchemy kullanırken ise bunun yerine bir Table nesnesi üzerinden gidersin ve SQLAlchemy sorgunu senin için uygun bir SQL ifadesine dönüştürür. Böylece MySQL veya PostgreSQL gibi geleneksel SQL’in belirli diyalektleri arasındaki farklarla uğraşmak yerine, iş akışını sadeleştirmek ve verini daha verimli sorgulamak için SQLAlchemy’nin Pythonik çerçevesinden yararlanabilirsin. Bu nedenle, geleneksel SQL’e zaten aşina olsan bile öğrenmeye değer.

Bu egzersizde, yine census tablosundaki tüm kayıtları sorgulayan bir ifade oluşturacaksın. Ancak bu kez, sqlalchemy modülünün select() fonksiyonunu kullanacaksın. Bu fonksiyon, yalnızca bir tane zorunlu argüman alır: tabloların veya sütunların bir listesi. Örneğin, select([my_table]).

Ayrıca, ResultProxy içinden yalnızca birkaç kaydı almak için, kaç kayıt getirileceğini belirleyen size argümanıyla .fetchmany() kullanacaksın.

Table ve MetaData zaten içe aktarıldı. Üstveri metadata olarak, veritabanına bağlantı ise connection olarak hazır.

Bu egzersiz, kursun bir parçasıdır

Python ile Veritabanlarına Giriş

Kursa Göz Atın

Egzersiz talimatları

  • sqlalchemy modülünden select fonksiyonunu içe aktar.
  • census tablosunu yansıt (reflect). Bu kod senin için yazıldı.
  • census tablosundaki tüm kayıtları almak için select() fonksiyonunu kullanarak bir sorgu oluştur. Bunu yapmak için select() fonksiyonuna tek bir öğe içeren bir liste geçir: census.
  • Oluşturulan gerçek SQL sorgusunu görmek için stmt ifadesini yazdır. Bu kod senin için yazıldı.
  • census tablosundan 10 kayıt getir ve results içinde sakla. Bunu yapmak için:
    • ResultProxy elde etmek üzere connection üzerinde .execute() metodunu stmt argümanıyla kullan.
    • ResultSet elde etmek için connection.execute(stmt) üzerinde uygun size argümanıyla .fetchmany() kullan.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# Import select
from ____ import ____

# Reflect census table via engine: census
census = Table('census', metadata, autoload=True, autoload_with=engine)

# Build select statement for census table: stmt
stmt = ____

# Print the emitted statement to see the SQL string
print(stmt)

# Execute the statement on connection and fetch 10 records: result
results = ____.____(____).____(size=___)

# Execute the statement and print the results
print(results)
Kodu Düzenle ve Çalıştır