IniziaInizia gratis

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

Visualizza il corso

Istruzioni dell'esercizio

  • Importa Table, Column, String, Integer, Float, Boolean da sqlalchemy.
  • Crea una nuova tabella chiamata data con le colonne 'name' (String(255)), 'count' (Integer()), 'amount' (Float()), e 'valid' (Boolean()). Il secondo argomento di Table() deve essere metadata, che è già stato inizializzato.
  • Crea la tabella nel database passando engine a metadata.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))
Modifica ed esegui il codice