Column ve type
- Python kursu
- İleri seviye
- Ders 46/83
- 5 dk
Column(Integer), Column(String) ile sütun türlerini öğrenirsin.
Column ve türler
Column, bir tablo sütununu tanımlar. İlk parametre olarak bir tür alır: Integer, String, Float, Boolean, DateTime gibi.
class Product(Base):
__tablename__ = "products"
id = Column(Integer, primary_key=True)
name = Column(String)
price = Column(Float)
in_stock = Column(Boolean)primary_key=True birincil anahtarı, nullable=False boş olamayan sütunu belirtir. String(50) gibi uzunluk verilebilir.
türlerin anlamı
Her sütun türü veritabanında karşılık gelen bir türe çevrilir. Integer tamsayı, String metin, Float ondalık sayı, Boolean doğru/yanlış depolar.
amount = Column(Integer) # tamsayı
label = Column(String(50)) # 50 karaktere kadar metin
ratio = Column(Float) # ondalık
active = Column(Boolean) # doğru/yanlışTür seçimi, doğrulama ve verimlilik için önemlidir. Yanlış tür veri kaybına yol açabilir.
Uygulama Product modeli tanımla
from sqlalchemy import create_engine, Column, Integer, String, Float ve from sqlalchemy.orm import declarative_base ile başla. Base = declarative_base() tanımla. class Product(Base): içinde __tablename__ = "products" ekle. id = Column(Integer, primary_key=True), name = Column(String) ve price = Column(Float) sütunlarını ekle. print(Product.__tablename__) ile tablo adını yazdır.
Başlangıç kodu
# sqlalchemyden create_engine, Column, Integer, String, Float'u içe aktar
# declarative_base'i içe aktar
# Base'i tanımla
# Product sınıfını tanımla (Base'ten türe, tablo adı 'products')
# id, name ve price sütunlarını ekle
# Product.__tablename__ değerini yazdırÖrnek çözüm
from sqlalchemy import create_engine, Column, Integer, String, Float
from sqlalchemy.orm import declarative_base
Base = declarative_base()
class Product(Base):
__tablename__ = "products"
id = Column(Integer, primary_key=True)
name = Column(String)
price = Column(Float)
print(Product.__tablename__)Beklenen çıktı
products
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Column(Integer, primary_key=True) ne belirtir?
- Otomatik artan sütunu
- Yabancı anahtar sütunu
- Boş olabilen sütunu
- Birincil anahtar sütunu Doğru cevap
Açıklama: primary_key=True birincil anahtar sütunu olduğunu belirtir.
2 String sütun tanımını tamamla
class Product(Base):
__tablename__ = "products"
name = Column(____)
class Product(Base):
__tablename__ = "products"
name = Column(String)
Açıklama: Column(String) ile metin sütunu tanımlanır.
3 tür kavramlarını eşleştir
| Kavram | Anlamı |
|---|---|
Integer |
Tamsayı depolar |
String |
Metin depolar |
Float |
Ondalık depolar |
Boolean |
Doğru/yanlış depolar |