Создание таблиц с помощью SQLAlchemy
Ранее вы использовали объект Table, чтобы отразить таблицу из существующей базы данных. Но что, если нужно создать новую таблицу? Объект Table подходит и для этого — только вместо параметров autoload и autoload_with нужно передать объекты Column.
Объект Column принимает название, тип SQLAlchemy с необязательным форматом, а также необязательные именованные аргументы для различных ограничений.
При определении таблицы вспомните, как в видео Джейсон передавал 255 в качестве максимальной длины строки: 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))