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
Övningsinstruktioner
- Importera
Table,Column,String,Integer,Float,Booleanfrånsqlalchemy. - Bygg en ny tabell kallad
datamed kolumnerna'name'(String(255)),'count'(Integer()),'amount'(Float()) och'valid'(Boolean()). Det andra argumentet tillTable()ska varametadata, som redan har initierats. - Skapa tabellen i databasen genom att skicka
enginetillmetadata.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))