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

SQLAlchemy ile tablo oluşturma

Daha önce, mevcut bir veritabanından bir tabloyu yansıtmak (reflect) için Table nesnesini kullandın, peki yeni bir tablo oluşturmak isteseydin? Yine Table nesnesini kullanırdın; ancak bu kez autoload ve autoload_with parametrelerini Column nesneleriyle değiştirmen gerekirdi.

Column nesnesi bir ad, isteğe bağlı biçime sahip bir SQLAlchemy türü ve farklı kısıtlar için isteğe bağlı anahtar sözcük argümanları alır.

Tabloyu tanımlarken, videoda Jason'ın bir String için maksimum uzunluk olarak 255 değerini Column('name', String(255)) yazarak geçtiğini hatırla. Videodaki slaytlara göz atmak işine yarayabilir.

Tabloyu tanımladıktan sonra, veritabanında tabloyu oluşturmak için metadata üzerinde .create_all() yöntemini kullanabilir ve tek parametre olarak engine'i verebilirsin. Hadi dene!

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

Python ile Veritabanlarına Giriş

Kursa Göz Atın

Egzersiz talimatları

  • sqlalchemy içinden Table, Column, String, Integer, Float, Boolean öğelerini içe aktar.
  • data adlı yeni bir tablo oluştur ve sütunları 'name' (String(255)), 'count' (Integer()), 'amount' (Float()), ve 'valid' (Boolean()) olsun. Table()'ın ikinci argümanı önceden başlatılmış olan metadata olmalıdır.
  • enginemetadata.create_all()'a geçirerek tabloyu veritabanında oluştur.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# Import Table, Column, String, Integer, Float, Boolean from sqlalchemy
from sqlalchemy import ____, ____, ____, ____, ____, ____

# Define a new table with a name, count, amount, and valid column: data
data = Table('data', ____,
             Column(____, ____),
             Column('count', Integer()),
             Column(____, ____),
             Column(____, ____)
)

# Use the metadata to create the table
metadata.create_all(____)

# Print table details
print(repr(data))
Kodu Düzenle ve Çalıştır