ComeçarComece de graça

Selecionando dados de uma tabela: SQL puro

Como você viu no vídeo, para acessar e manipular os dados no banco, primeiro precisamos estabelecer uma conexão usando o método .connect() no engine. Isso acontece porque a função create_engine() que você usou antes retorna uma instância de um engine, mas ela não abre de fato uma conexão até que alguma ação exija uma, como uma consulta.

Usando o que acabamos de aprender sobre SQL e aplicando o método .execute() na nossa conexão, podemos aproveitar uma consulta SQL pura para consultar todos os registros na tabela census. O objeto retornado por .execute() é um ResultProxy. Nesse ResultProxy, podemos então usar o método .fetchall() para obter os resultados — ou seja, o ResultSet.

Neste exercício, você vai usar uma consulta SQL tradicional. Perceba que, ao executar uma consulta usando SQL puro, você consulta a tabela diretamente no banco de dados. Em particular, nenhuma etapa de reflexão é necessária.

No próximo exercício, você vai passar para o SQLAlchemy e começar a entender suas vantagens. Vamos lá!

Este exercício faz parte do curso

Introdução a Bancos de Dados em Python

Ver curso

Instruções do exercício

  • Use o método .connect() de engine para criar uma conexão.
  • Construa uma instrução SQL para consultar todas as colunas de census e armazene-a em stmt. Observe que sua instrução SQL deve ser uma string.
  • Use os métodos .execute() e .fetchall() em connection e armazene o resultado em results. Lembre-se de que .execute() vem antes de .fetchall() e que stmt precisa ser passado para .execute().
  • Imprima results.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

from sqlalchemy import create_engine
engine = create_engine('sqlite:///census.sqlite')

# Create a connection on engine
connection = ___

# Build select statement for census table: stmt
stmt = ____

# Execute the statement and fetch the results: results
results = ____

# Print results
print(____)
Editar e executar o código