O SQLAlchemy é uma ferramenta poderosa para Python que simplifica o acesso a bancos de dados, tornando-o eficiente mesmo em situações complexas de alto tráfego.
Instalação do SQLAlchemy
Antes de começarmos, precisamos instalar o SQLAlchemy usando o pip:
pip install sqlalchemy
Conceitos Básicos
Antes de mergulharmos no código, vamos entender alguns conceitos básicos.
Engine
A Engine é o ponto de partida do SQLAlchemy e serve como centro de controle para o banco de dados real e sua interface Python.
Session
A Session armazena objetos associados a ela e é usada para fazer consultas ao banco de dados.
ORM (Mapeamento Objeto-Relacional)
ORM é uma técnica que facilita a conversão de dados entre diferentes sistemas usando programação orientada a objetos. SQLAlchemy possui uma camada ORM para trabalhar com bancos de dados relacionais.
Exemplos de Código
Conectando-se a um Banco de Dados
Primeiro, vamos nos conectar a um banco de dados. O SQLAlchemy faz isso por meio de uma Engine, que você pode criar da seguinte maneira:
from sqlalchemy import create_engine
engine = create_engine('sqlite:///exemplo.db')
Isso criará uma Engine que interagirá com um banco de dados SQLite chamado exemplo.db.
Criando uma Tabela
A seguir, criaremos uma tabela. Primeiro, precisamos importar alguns componentes adicionais:
from sqlalchemy import Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class Usuario(Base):
__tablename__ = 'usuarios'
id = Column(Integer, primary_key=True)
nome = Column(String)
email = Column(String)
No código acima, criamos uma classe chamada ‘Usuario’ que representa uma tabela de banco de dados, usando o sistema declarativo do SQLAlchemy para facilitar essa conexão.
Para criar a tabela no banco de dados, usamos o método ‘create_all()’ da classe ‘Base’, fornecendo a engine como argumento.
Base.metadata.create_all(engine)
Inserindo Registros
Para adicionar registros, começamos criando um objeto da classe ‘Usuario’. Depois, criamos uma nova ‘Session’, adicionamos o usuário e salvamos a sessão.
from sqlalchemy.orm import Session
# Crie uma nova sessão
sessao = Session(engine)
# Crie um novo usuário
novo_usuario = Usuario(nome='João da Silva', email='joao@email.com')
# Adicione o usuário à sessão
sessao.add(novo_usuario)
# Confirme a sessão
sessao.commit()
Consultando Dados
Após inserir registros, você pode querer consultar dados no banco de dados. O SQLAlchemy fornece o método Session.query() para isso:
# Consulte o banco de dados
usuarios = sessao.query(Usuario).all()
# Imprima todos os usuários
for usuario in usuarios:
print(usuario.nome, usuario.email)
# João da Silva joao@email.com
No código acima, estamos consultando o banco de dados para obter todos os usuários e, em seguida, imprimindo seus nomes e e-mails.
Conclusão
O SQLAlchemy é uma ferramenta robusta para bancos de dados em Python, adequada para projetos de qualquer tamanho. Este artigo introduziu apenas algumas de suas capacidades; há muito mais para descobrir, incluindo consultas avançadas, relacionamentos e transações. Continue explorando!
Outras Referências
Link para o SQL Alchemy: https://www.sqlalchemy.org/