Zacznij terazZacznij za darmo

Tworzenie tabel za pomocą SQLAlchemy

Wcześniej korzystałeś z obiektu Table, aby odwzorować tabelę z istniejącej bazy danych – ale co zrobić, gdy chcesz utworzyć nową tabelę? Nadal używasz obiektu Table, jednak zamiast parametrów autoload i autoload_with przekazujesz obiekty Column.

Obiekt Column przyjmuje nazwę, typ SQLAlchemy z opcjonalnym formatem oraz opcjonalne argumenty słów kluczowych definiujące różne ograniczenia.

Przy definiowaniu tabeli warto pamiętać, że maksymalną długość ciągu znaków określa się przez Column('name', String(255)) – tak jak Jason pokazał to w filmie. Możesz też zajrzeć do slajdów z lekcji.

Po zdefiniowaniu tabeli utwórz ją w bazie danych, wywołując metodę .create_all() na obiekcie metadata i podając silnik jako jedyny argument. Do dzieła!

To ćwiczenie jest częścią kursu

Wprowadzenie do baz danych w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Zaimportuj Table, Column, String, Integer, Float, Boolean z sqlalchemy.
  • Utwórz nową tabelę o nazwie data z kolumnami: 'name' (String(255)), 'count' (Integer()), 'amount' (Float()) oraz 'valid' (Boolean()). Drugi argument funkcji Table() powinien być równy metadata – ten obiekt został już wcześniej zainicjalizowany.
  • Utwórz tabelę w bazie danych, przekazując engine do metadata.create_all().

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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))
Edytuj i uruchom kod