Aan de slagGa gratis aan de slag

Tabellen maken met SQLAlchemy

Eerder gebruikte je het Table-object om een tabel uit een bestaande database te reflecteren, maar wat als je een nieuwe tabel wilt maken? Dan gebruik je nog steeds het Table-object; je vervangt alleen de parameters autoload en autoload_with door Column-objecten.

Het Column-object neemt een naam, een SQLAlchemy-type met een optioneel formaat, en optionele keyword-argumenten voor verschillende constraints.

Toen de tabel werd gedefinieerd, liet Jason in de video zien hoe hij 255 doorgaf als de maximale lengte van een String met Column('name', String(255)). Het kan helpen om de dia's uit de video erbij te pakken.

Na het definiëren van de tabel kun je de tabel in de database aanmaken met de methode .create_all() op metadata, waarbij je de engine als enige parameter meegeeft. Aan de slag!

Deze oefening maakt deel uit van de cursus

Introductie tot databases in Python

Cursus bekijken

Oefeninstructies

  • Importeer Table, Column, String, Integer, Float, Boolean uit sqlalchemy.
  • Bouw een nieuwe tabel data met de kolommen 'name' (String(255)), 'count' (Integer()), 'amount' (Float()), en 'valid' (Boolean()). Het tweede argument van Table() moet metadata zijn, dat al is geïnitialiseerd.
  • Maak de tabel in de database door engine door te geven aan metadata.create_all().

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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))
Code bewerken en uitvoeren