НачатьНачать бесплатно

Создание таблиц с помощью 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))
Редактировать и запускать код