Crearea tabelelor cu SQLAlchemy
Anterior, ai folosit obiectul Table pentru a reflecta o tabelă dintr-o bază de date existentă, dar ce faci dacă vrei să creezi o tabelă nouă? Vei folosi tot obiectul Table, însă va trebui să înlocuiești parametrii autoload și autoload_with cu obiecte Column.
Obiectul Column primește un nume, un tip SQLAlchemy cu un format opțional și argumente keyword opționale pentru diferite constrângeri.
Când definești tabela, amintește-ți că în video Jason a transmis 255 ca lungime maximă a unui tip String folosind Column('name', String(255)). Poți consulta slide-urile din video dacă ai nevoie.
După ce definești tabela, o poți crea în baza de date folosind metoda .create_all() pe metadata și furnizând motorul ca unic parametru. Hai să începi!
Acest exercițiu face parte din cursul
Introducere în baze de date în Python
Instrucțiuni pentru exercițiu
- Importă
Table,Column,String,Integer,Float,Booleandinsqlalchemy. - Creează o nouă tabelă numită
datacu coloanele'name'(String(255)),'count'(Integer()),'amount'(Float()) și'valid'(Boolean()). Al doilea argument al funcțieiTable()trebuie să fiemetadata, care a fost deja inițializat. - Creează tabela în baza de date transmițând
enginelametadata.create_all().
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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))