Criando tabelas com SQLAlchemy
Antes, você usou o objeto Table para refletir uma tabela de um banco de dados existente, mas e se quiser criar uma tabela nova? Você ainda usaria o objeto Table; no entanto, precisaria substituir os parâmetros autoload e autoload_with por objetos Column.
O objeto Column recebe um nome, um tipo do SQLAlchemy com um formato opcional e argumentos nomeados opcionais para diferentes restrições.
Ao definir a tabela, lembre como, no vídeo, Jason passou 255 como o comprimento máximo de uma String usando Column('name', String(255)). Consultar os slides do vídeo pode ajudar.
Depois de definir a tabela, você pode criá-la no banco de dados usando o método .create_all() em metadata e fornecendo o engine como o único parâmetro. Mãos à obra!
Este exercício faz parte do curso
Introdução a Bancos de Dados em Python
Instruções do exercício
- Importe
Table,Column,String,Integer,Float,Booleandesqlalchemy. - Construa uma nova tabela chamada
datacom as colunas'name'(String(255)),'count'(Integer()),'amount'(Float()), e'valid'(Boolean()). O segundo argumento deTable()precisa sermetadata, que já foi inicializado. - Crie a tabela no banco de dados passando
engineparametadata.create_all().
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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))