Dataset Python: trabalhe com bancos de dados como no Pandas

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Dataset Python: trabalhe com bancos de dados de forma simples, como no Pandas

O que é a biblioteca Dataset

Dataset é uma biblioteca Python que oferece uma interface prática para trabalhar com bancos de dados SQL sem precisar escrever consultas SQL. Com ela, você manipula bancos de dados com a mesma facilidade com que mexe em dicionários Python, enquanto tabelas e estruturas de dados são criadas automaticamente.

Principais vantagens do Dataset:

  • Criação automática de tabelas e esquemas
  • API simples, sem necessidade de SQL
  • Suporte a vários bancos de dados via SQLAlchemy
  • Sintaxe intuitiva e fácil de entender
  • Configuração mínima para começar
  • Excelente compatibilidade com Pandas

Instalação e configuração do Dataset

Instalando a biblioteca

pip install dataset

Para usar bancos de dados específicos, pode ser necessário instalar drivers adicionais:

# Para PostgreSQL
pip install psycopg2-binary

# Para MySQL
pip install pymysql

# Para SQLite, o driver já vem com o Python

Conectando a diferentes bancos de dados

import dataset

# SQLite (banco local)
db = dataset.connect('sqlite:///meubanco.db')

# PostgreSQL
db = dataset.connect('postgresql://usuario:senha@localhost:5432/nomedobanco')

# MySQL
db = dataset.connect('mysql://usuario:senha@localhost/nomedobanco')

# Em memória (para testes)
db = dataset.connect('sqlite:///:memory:')

Princípios básicos do Dataset

O Dataset funciona com base nos seguintes princípios:

  1. Criação automática de tabelas — as tabelas são criadas na primeira vez que você as acessa
  2. Esquema dinâmico — a estrutura da tabela é definida automaticamente ao inserir dados
  3. Interface baseada em dicionários — os dados são tratados como dicionários Python
  4. Sem SQL — todas as operações são feitas através de métodos Python

Criando e gerenciando tabelas

Acessando uma tabela

# Acessa a tabela (criada automaticamente se não existir)
tabela_usuarios = db['usuarios']

# Forma alternativa
tabela_usuarios = db.get_table('usuarios')

Criando uma tabela com configurações

# Cria uma tabela com chave primária personalizada
db.create_table('produtos', primary_id='id_produto', primary_type=db.types.string)

Inserindo dados

Inserindo um único registro

tabela = db['usuarios']

# Insere um usuário
tabela.insert({
    'nome': 'João Silva',
    'email': 'joao@exemplo.com',
    'idade': 30,
    'cidade': 'São Paulo'
})

Inserindo vários registros

# Insere múltiplos registros
dados_usuarios = [
    {'nome': 'Ana Souza', 'email': 'ana@exemplo.com', 'idade': 25},
    {'nome': 'Pedro Santos', 'email': 'pedro@exemplo.com', 'idade': 35},
    {'nome': 'Maria Oliveira', 'email': 'maria@exemplo.com', 'idade': 28}
]

tabela.insert_many(dados_usuarios)

Operações Upsert

# Insere ou atualiza (se já existir um registro com o mesmo email)
tabela.upsert({
    'nome': 'João Silva',
    'email': 'joao@exemplo.com',
    'idade': 31,
    'cidade': 'Rio de Janeiro'
}, ['email'])

Buscando e filtrando dados

Obtendo todos os registros

# Obtém todos os registros
todos_usuarios = list(tabela.all())
for usuario in todos_usuarios:
    print(f"{usuario['nome']} - {usuario['email']}")

Buscando com condições

# Encontra um único registro
usuario = tabela.find_one(nome='João Silva')

# Encontra todos os registros com uma condição
usuarios_jovens = list(tabela.find(idade={'<': 30}))                    

Recommendations