Creare tabelle con SQLAlchemy
In precedenza, hai usato l'oggetto Table per riflettere una tabella da un database esistente, ma se volessi creare una tabella nuova? Useresti comunque l'oggetto Table; tuttavia, dovresti sostituire i parametri autoload e autoload_with con oggetti Column.
L'oggetto Column accetta un nome, un tipo SQLAlchemy con un formato opzionale, e argomenti keyword opzionali per diversi vincoli.
Quando definisci la tabella, ricorda come nel video Jason ha passato 255 come lunghezza massima di una String usando Column('name', String(255)). Dare un'occhiata alle diapositive del video può aiutare.
Dopo aver definito la tabella, puoi crearla nel database usando il metodo .create_all() su metadata e fornendo l'engine come unico parametro. Vai!
Questo esercizio fa parte del corso
Introduzione ai database in Python
Istruzioni dell'esercizio
- Importa
Table,Column,String,Integer,Float,Booleandasqlalchemy. - Crea una nuova tabella chiamata
datacon le colonne'name'(String(255)),'count'(Integer()),'amount'(Float()), e'valid'(Boolean()). Il secondo argomento diTable()deve esseremetadata, che è già stato inizializzato. - Crea la tabella nel database passando
engineametadata.create_all().
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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))