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

Bir Tablo’dan veri seçme: ham SQL

Videoda gördüğün gibi, veritabanındaki verilere erişmek ve onları işlemek için önce engine üzerinde .connect() metodunu kullanarak bir bağlantı kurmamız gerekiyor. Bunun nedeni, daha önce kullandığın create_engine() fonksiyonunun bir engine örneği döndürmesi, ancak sorgu gibi bağlantı gerektiren bir işlem çağrılana kadar gerçekte bir bağlantı açmamasıdır.

SQL hakkında yeni öğrendiklerimizi kullanarak ve bağlantımız üzerinde .execute() metodunu uygulayarak, ham bir SQL sorgusuyla census tablosundaki tüm kayıtları sorgulayabiliriz. .execute() metodunun döndürdüğü nesne bir ResultProxy’dir. Bu ResultProxy üzerinde .fetchall() metodunu kullanarak sonuçlarımızı, yani ResultSet’i alabiliriz.

Bu egzersizde, geleneksel bir SQL sorgusu kullanacaksın. Ham SQL ile bir sorgu çalıştırdığında, tabloyu doğrudan veritabanında sorguladığına dikkat et. Özellikle, yansıtma (reflection) adımına gerek yoktur.

Sonraki egzersizde SQLAlchemy’ye geçecek ve avantajlarını görmeye başlayacaksın. Hadi başlayalım!

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

Python ile Veritabanlarına Giriş

Kursa Göz Atın

Egzersiz talimatları

  • Bir bağlantı oluşturmak için engine’ın .connect() metodunu kullan.
  • census tablosundaki tüm sütunları sorgulayan bir SQL ifadesi oluştur ve stmt içinde sakla. SQL ifadenin bir string olması gerektiğini unutma.
  • connection üzerinde .execute() ve .fetchall() metotlarını kullan ve sonucu results içinde sakla. .execute()’ın .fetchall()’dan önce geldiğini ve .execute()’a stmt’in iletilmesi gerektiğini unutma.
  • results değerini yazdır.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

from sqlalchemy import create_engine
engine = create_engine('sqlite:///census.sqlite')

# Create a connection on engine
connection = ___

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

# Execute the statement and fetch the results: results
results = ____

# Print results
print(____)
Kodu Düzenle ve Çalıştır