Створення таблиць у SQLAlchemy
Раніше ви використовували об'єкт Table, щоб відобразити таблицю з наявної
бази даних. А що, якщо потрібно створити нову таблицю? Ви так само скористаєтеся об'єктом Table,
але заміните параметри autoload і autoload_with на об'єкти Column.
Об'єкт Column приймає назву, тип SQLAlchemy з необов'язковим
форматом і додаткові ключові аргументи для різних обмежень.
Під час визначення таблиці згадайте, як у відео Джейсон передавав 255 як максимальну довжину для String за допомогою Column('name', String(255)). Перегляньте слайди з відео — це може допомогти.
Після визначення таблиці ви можете створити її в базі даних методом
.create_all() для metadata, передавши engine єдиним параметром. Спробуйте!
Ця вправа є частиною курсу
Вступ до баз даних у Python
Інструкції до вправи
- Імпортуйте
Table,Column,String,Integer,Float,Booleanзsqlalchemy. - Створіть нову таблицю
dataзі стовпцями'name'(String(255)),'count'(Integer()),'amount'(Float()), і'valid'(Boolean()). Другим аргументомTable()має бутиmetadata, який уже ініціалізовано. - Створіть таблицю в базі даних, передавши
engineуmetadata.create_all().
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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))