0Pricing
Python Academy · Aula

Consultas com a Session

Leia e filtre dados

Consultas com a Session é uma aula grátis de Python Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Python Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Python Academy inclui 4 aulas no total.

A sessão

O ORM realiza todo o seu trabalho por meio de uma sessão. Ele gerencia uma unidade de trabalho: acompanha objetos novos, alterados e excluídos e se comunica com o banco de dados.

from sqlalchemy import create_engine
from sqlalchemy.orm import Session
engine = create_engine('sqlite:///:memory:')
with Session(engine) as session:
    print('Session open:', session)

Adicionando objetos

session.add() prepara um objeto novo. Nada é enviado ao banco de dados até que você use commit().

from sqlalchemy.orm import Session
# session.add(user) stages it
# session.commit() writes it
print('add stages, commit saves')

Confirmando alterações

session.commit() envia as alterações pendentes e confirma a transação, tornando-as permanentes.

# with Session(engine) as session:
#     session.add(User(name='Alice'))
#     session.commit()
print('commit persists the work')

Consultando com select()

O SQLAlchemy moderno lê dados com select(), executado por meio da sessão. scalars() retorna instâncias dos modelos.

from sqlalchemy import select
# stmt = select(User)
# users = session.scalars(stmt).all()
print('select(User) then scalars().all()')

Obtendo todas as linhas

session.scalars(select(User)).all() retorna uma lista com todos os objetos User da tabela.

from sqlalchemy import select
# all_users = session.scalars(select(User)).all()
# for u in all_users:
#     print(u.name)
print('all() returns a list of objects')

Filtrando com where()

Adicione uma cláusula where() para filtrar. Compare uma coluna mapeada usando um operador normal do Python.

from sqlalchemy import select
# stmt = select(User).where(User.age > 28)
# adults = session.scalars(stmt).all()
print('where(User.age > 28) filters rows')

Obtendo um objeto

session.scalars(stmt).first() retorna a primeira correspondência ou None. one() espera exatamente uma linha e gera um erro caso contrário.

from sqlalchemy import select
# stmt = select(User).where(User.name == 'Alice')
# user = session.scalars(stmt).first()
print('first() = first match or None')

Consulta pela chave primária

session.get(User, 1) é a maneira mais rápida de buscar um único objeto pela chave primária.

# user = session.get(User, 1)
# print(user.name)
print('session.get(Model, pk) fetches by id')

Ordenando resultados

Encadeie order_by() para ordenar. Use .desc() em uma coluna para obter a ordem decrescente.

from sqlalchemy import select
# stmt = select(User).order_by(User.age.desc())
# sorted_users = session.scalars(stmt).all()
print('order_by(User.age.desc()) sorts results')

Atualizando um objeto

Altere um atributo de um objeto carregado e depois use commit(). A sessão detecta a alteração e emite um UPDATE.

# user = session.get(User, 1)
# user.name = 'Alicia'
# session.commit()  # auto UPDATE
print('Edit attribute, then commit')

Excluindo um objeto

session.delete(obj) marca um objeto para remoção. O DELETE é executado na próxima confirmação.

# user = session.get(User, 1)
# session.delete(user)
# session.commit()  # row removed
print('delete(obj) then commit removes the row')

Verificação rápida

Teste seus conhecimentos sobre sessões.

Recapitulação

Você aprendeu a ler e alterar dados por meio da sessão.

  • A Session acompanha sua unidade de trabalho
  • add() prepara; commit() persiste
  • select() + scalars() leem objetos; where() filtra
  • session.get() busca pela chave primária; as edições e delete() são aplicadas na confirmação

Perguntas Frequentes

A aula “Consultas com a Session” é grátis?

Sim — o texto completo de “Consultas com a Session” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Python Academy, atualize para CoddyKit PRO. O curso de Python Academy inclui 4 aulas no total.

O que vou aprender em “Consultas com a Session”?

Leia e filtre dados Você pratica Python Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Python Academy?

Nenhuma experiência prévia é necessária. Python Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.

Quanto tempo leva a aula “Consultas com a Session”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Python Academy?

Sim. Cada aula de Python Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. SQLAlchemy Core versus ORM
  2. Definição de modelos
  3. Consultas com a Session
  4. Relacionamentos e junções
← Voltar para Python Academy