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ş
Egzersiz talimatları
sqlalchemyiçindenTable,Column,String,Integer,Float,Booleanöğelerini içe aktar.dataadlı 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ış olanmetadataolmalıdır.engine'ımetadata.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))