Kom igångKom igång gratis

Skapa tabeller med SQLAlchemy

Tidigare använde du Table-objektet för att reflektera en tabell från en befintlig databas – men vad gör du om du vill skapa en ny tabell? Du använder fortfarande Table-objektet, men du ersätter parametrarna autoload och autoload_with med Column-objekt.

Column-objektet tar ett namn, en SQLAlchemy-typ med ett valfritt format samt valfria nyckelordsargument för olika begränsningar.

När du definierar tabellen, kom ihåg hur Jason i videon skickade in 255 som maxlängd för en sträng med hjälp av Column('name', String(255)). Ta gärna en titt på slides från videon om du behöver.

När tabellen är definierad kan du skapa den i databasen med metoden .create_all() på metadata och ange motorn som enda parameter. Sätt igång!

Den här övningen är en del av kursen

Introduktion till databaser i Python

Visa kurs

Övningsinstruktioner

  • Importera Table, Column, String, Integer, Float, Boolean från sqlalchemy.
  • Bygg en ny tabell kallad data med kolumnerna 'name' (String(255)), 'count' (Integer()), 'amount' (Float()) och 'valid' (Boolean()). Det andra argumentet till Table() ska vara metadata, som redan har initierats.
  • Skapa tabellen i databasen genom att skicka engine till metadata.create_all().

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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))
Redigera och kör kod