SlideShare uma empresa Scribd logo
Introdução ao SQLAlchemy
João Toss Molon (jtmolon@gmail.com)
Who?
● Graduando de Ciência da Computação na
Universidade de Caxias do Sul.
● Desenvolvedor Python/Zope/Plone na HaDi.
Com/Instituto Communitas/OTICS
● Baixista da Nantra =)
(facebook.com/bandanantra)
SQLAlchemy?
● Conjunto de ferramentas para integração de
bancos de dados relacionais e Python
Quem usa?
● Nós!
● E mais “alguns”...
SGBDs suportados
Posso usar para...
● Mapeamento Objeto-Relacional
● Acesso transparente ao banco através de
objetos, código Python puro
● Aplicação “multi-banco” (teoricamente...)
● Integração de produtos Plone com bancos
relacionais
Estrutura
Estrutura
● ORM (Object Relational Mapper)
○ Alto nível, mapeamento de classes Python para
tabelas do banco relacional
Estrutura
● Core
○ Linguagem de expressões SQL
○ Definição de schema
○ Conexão com o banco
Instalando
● Muito complexo
$easy_install SQLAlchemy
Instalou?
● Verificando se a instalação está ok
Conectando ao banco
● create_engine(string_conexao, echo)
○ string_conexao: SGBD, driver de conexão, usuario,
senha, host e nome do banco
Mapeando classes
● Extension declarative
○ declarative_base == base para mapeamento de
classes para tabelas
Mapeando classes
Mapeando classes
Criando as tabelas no banco
● Base.metadata.create_all(engine)
Instanciando um objeto
Criando uma sessão
● Session faz o controle da persistência de objetos
mapeados pelo ORM
○ Session = sessionmaker() #factory de sessions
○ Session.configure(bind=engine) #configura
conexao
○ session = Session() #nova session
Adicionando um objeto
● session.add(objeto) #adiciona o objeto
● session.new #lista os objetos novos
● session.dirty #lista os objetos modificados
● session.commit #persiste as modificações no banco
Consultando
● session.query(Classe).all() #lista com todos os objetos da
Classe
● session.query(Classe).first() #primeira ocorrência de um
objeto da Classe
● session.query(Classe).filter_by(campo=”dio”).all() #lista
de objetos filtrados por um campo com valor == ”dio”
Removendo
● Buscar o objeto e apagar
○ obj = session.query(Classe).filter_by(campo=”dio”).
first()
○ session.delete(obj)
Mas...funciona?
● Abre o terminal e mostra a que veio!
Fonte
● http://docs.sqlalchemy.org/en/rel_0_8/
Perguntas?

Mais conteúdo relacionado

PDF
SQLAlchemy - Desenvolvendo uma aplicação com Python
ODP
Grafos - Uma abordagem divertida - Latinoware 2014
PDF
Aplicações não convencionais de grafos
PDF
GraphQL: PUTs, onde foram parar os verbos HTTP?
PPTX
Melhorias na interface do Management Studio
PPTX
Aula poo x pe
PDF
Introdução ao Python
PPT
Por Que Python - #PUGCE
SQLAlchemy - Desenvolvendo uma aplicação com Python
Grafos - Uma abordagem divertida - Latinoware 2014
Aplicações não convencionais de grafos
GraphQL: PUTs, onde foram parar os verbos HTTP?
Melhorias na interface do Management Studio
Aula poo x pe
Introdução ao Python
Por Que Python - #PUGCE

Semelhante a Introdução ao SQLAlchemy (20)

PDF
Implementando enterprise patterns com PHP
PDF
Postgresql +python
PDF
Postgre sql +python
PDF
Mapeamento Objeto Relacional em PHP com Outlet ORM
PDF
TDC2017 - Misturando dados com Pentaho para insights mais significativos
ODP
Python-Fenalivre-Imed
PDF
Python para análise de dados
ODP
Entendendo Frameworks web com Python
ODP
Entendendo Framework Web com Python
PDF
Junho 2016 - Django - A sua cápsula de soluções web em python
PDF
Django - A sua cápsula de soluções web em python
PDF
SQLite: um motor de bases de dados relacional open source
PPTX
BOT: Conversando com o seu sistema
PPTX
Introdução ao Entity Framework 4
PPTX
Metodologia e Linguagem de Programação - Aula 1
PPTX
Deep Dive sobre Entity Framework
ODP
Uma experiência acadêmica com Python
PDF
Mongodb praquer-usar-uaijugcloudday2014
PPTX
Palestra Apresentando Python e Suas Aplicações
PDF
Canivete python
Implementando enterprise patterns com PHP
Postgresql +python
Postgre sql +python
Mapeamento Objeto Relacional em PHP com Outlet ORM
TDC2017 - Misturando dados com Pentaho para insights mais significativos
Python-Fenalivre-Imed
Python para análise de dados
Entendendo Frameworks web com Python
Entendendo Framework Web com Python
Junho 2016 - Django - A sua cápsula de soluções web em python
Django - A sua cápsula de soluções web em python
SQLite: um motor de bases de dados relacional open source
BOT: Conversando com o seu sistema
Introdução ao Entity Framework 4
Metodologia e Linguagem de Programação - Aula 1
Deep Dive sobre Entity Framework
Uma experiência acadêmica com Python
Mongodb praquer-usar-uaijugcloudday2014
Palestra Apresentando Python e Suas Aplicações
Canivete python
Anúncio

Último (19)

PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PDF
Apple Pippin Uma breve introdução. - David Glotz
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PPTX
Aula 18 - Manipulacao De Arquivos python
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PDF
Processos na gestão de transportes, TM100 Col18
PDF
Aula04-Academia Heri- Tecnologia Geral 2025
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
COBITxITIL-Entenda as diferença em uso governança TI
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Apple Pippin Uma breve introdução. - David Glotz
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Aula 18 - Manipulacao De Arquivos python
Custos e liquidação no SAP Transportation Management, TM130 Col18
Processos na gestão de transportes, TM100 Col18
Aula04-Academia Heri- Tecnologia Geral 2025
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Anúncio

Introdução ao SQLAlchemy