Pular para o conteúdo principal

Python, como realizar conexão com Banco de Dados

Imagem_Pyobdc

Python, como realizar conexão com Banco de Dados

O que é o PyODBC?

No desenvolvimento de software, é comum a necessidade de acessar dados de fontes externas. Geralmente, esse acesso é realizado por meio de uma conexão com um banco de dados. No Python, existem diversas formas de estabelecer essa conexão, e uma delas é utilizando a biblioteca PyODBC.

O PyODBC é um projeto open source que permite a conexão com bancos de dados utilizando a interface ODBC (Open Database Connectivity). Essa abordagem facilita a integração de aplicações Python com diversos sistemas de gerenciamento de bancos de dados, como SQL Server, MySQL, PostgreSQL, Oracle, entre outros, desde que o driver ODBC apropriado esteja instalado.

Este artigo pode ser relacionado ao nosso artigo anterior sobre Pandas [link], pois podemos utilizar essa conexão com o banco de dados para transferir os registros de uma tabela diretamente para um DataFrame do Pandas. No exemplo deste artigo, utilizaremos a mesma fonte de dados: a tabela Pessoas.

Open Database Connectivity (ODBC)

O PyODBC utiliza o protocolo ODBC para realizar a conexão com o banco de dados. Mas o que é o ODBC?

O ODBC (Open Database Connectivity) é um protocolo criado para padronizar a conexão entre aplicações e bancos de dados. Seu objetivo é fornecer uma API universal, independente do sistema operacional e do banco de dados utilizado. A maioria dos bancos de dados modernos oferece suporte ao ODBC, mas é necessária a instalação de um driver específico para o banco que se deseja acessar, garantindo a compatibilidade com o protocolo.

O que é um Driver ODBC?

O driver ODBC é um componente que implementa o protocolo ODBC, permitindo a comunicação entre diferentes bancos de dados e aplicações. Cada banco de dados possui um driver ODBC específico, garantindo que a comunicação ocorra de forma eficiente e padronizada.

Ao instalar o driver apropriado para um banco de dados, qualquer aplicação compatível com ODBC pode se conectar a ele utilizando os mesmos comandos e estrutura de comunicação.

Instalando o Driver ODBC para SQLite

Caso deseje utilizar o SQLite via ODBC, o driver pode ser encontrado no seguinte link:

SQLite ODBC Driver

Instalando o PyODBC no Python

A maneira mais simples de instalar o PyODBC é utilizando o pip:


python -m pip install pyodbc

Utilizando o PyODBC para conectar ao banco de dados SQL Server

Agora, vejamos um exemplo prático de conexão a um banco de dados SQL Server utilizando o PyODBC:

Importando a biblioteca


import pyodbc

Definindo a string de conexão


conn = pyodbc.connect(
    'DRIVER={SQL Server};'
    'SERVER=nome_do_servidor;'
    'DATABASE=nome_do_banco;'
    'UID=usuario;'
    'PWD=senha'
)

Criando um cursor para executar comandos SQL


cursor = conn.cursor()

Executando uma consulta


cursor.execute("SELECT * FROM Pessoas")

Obtendo os resultados


for row in cursor:
    print(row)

Fechando a conexão


conn.close()

Passando os resultados da consulta para um DataFrame do Pandas

Uma das funcionalidades mais úteis do PyODBC é a possibilidade de carregar os dados diretamente em um DataFrame do Pandas:


import pandas as pd
import pyodbc

# Conectar ao banco de dados
conn = pyodbc.connect(
    'DRIVER={SQL Server};'
    'SERVER=nome_do_servidor;'
    'DATABASE=nome_do_banco;'
    'UID=usuario;'
    'PWD=senha'
)

# Criar um DataFrame a partir de uma consulta SQL
df = pd.read_sql("SELECT * FROM Pessoas", conn)

# Exibir os primeiros registros
df.head()

# Fechar a conexão
conn.close()

Com essa abordagem, podemos facilmente manipular os dados dentro do Pandas, permitindo análises e transformações eficientes dentro do Python.

Conclusão

O PyODBC é uma ferramenta poderosa para conectar aplicações Python a bancos de dados utilizando ODBC. Sua flexibilidade e compatibilidade com diversos sistemas de banco de dados o tornam uma excelente escolha para desenvolvedores que necessitam acessar e manipular dados de forma padronizada.

Combinado com bibliotecas como o Pandas, o PyODBC se torna ainda mais útil, permitindo a integração de dados de bancos relacionais com análises de dados avançadas no Python.

Agora que você conhece o PyODBC, que tal testar em um projeto prático? 🚀


Comentários

Postagens mais visitadas deste blog

Gerenciando Dependências no Python com requirements.txt

O que é o Pip? O Pip  (Package Installer for Python) é o gerenciador de pacotes do Python. Ele permite instalar, atualizar e remover bibliotecas e dependências de forma prática, garantindo que seu ambiente esteja sempre configurado corretamente. Como gerar um arquivo requirements.txt? Quando trabalhamos em projetos Python, muitas vezes precisamos garantir que todas as dependências necessárias estejam instaladas. Para facilitar essa gestão, podemos gerar um arquivo requirements.txt que contém a lista de pacotes e versões utilizadas no ambiente. Para gerar esse arquivo, execute o seguinte comando no terminal: pip freeze > requirements.txt Esse comando captura todas as bibliotecas instaladas no ambiente e as salva no arquivo requirements.txt . Geralmente trabalhamos com um ambiente virtual, o que é uma boa prática. Como instalar dependências a partir do requirements.txt? Se você precisa configurar um novo ambiente ou compar...

Aprenda Pandas utilizando exemplos de SQL e vice e versa (select, insert, update e delete)

O que é o Pandas? O Pandas é uma biblioteca open source do Python, criada para a função de análise de dados. Suas funções incluem limpeza, tratamento e análise exploratória de dados (EDA). É uma biblioteca muito utilizada para o trabalho de Machine Learning e Data Science, porém sua utilidade vai muito além disso, sendo uma ferramenta poderosa para programadores ou profissionais que lidam com grandes conjuntos de dados. Eu utilizo muito o Pandas para conferência de relatórios e bases de dados, e considero uma ferramenta muito útil, por exemplo, para profissionais de finanças, contabilidade, etc. Funcionamento do Pandas O funcionamento do Pandas está centrado em DataFrames, que são objetos para estruturar dados, algo parecido com uma planilha. Os dados são importados para um DataFrame, e as fontes de dados pode ser de diversos tipos, por exemplo: Excel Json SQL HTML Google Sheets A liberdade que o P...

JSON e Python: Tudo o Que Você Precisa Saber para Manipular Dados

O Python possui funções embutidas (built in functions) para trabalhar com formato JSON, aqui um exemplo de como realizar uma requisição para uma API e trabalhar com o retorno em JSON. Esse código faz uma chamada à PokeApi e realiza a consulta do pokemon Pikachu. Caso a requisição retorne sucesso, o JSON é mostrado na tela. Para rodar esse código é necessário instalar o módulo " request ", com o comando " pip install request ". import requests import json url = " https://pokeapi.co/api/v2/pokemon/pikachu/" response = requests.get(url) if response.status_code == 200: data = response.json() print(json.dumps(data, indent=2)) else: print(f"Error: {response.status_code}") Trabalhando com dados aninhados No exemplo acima realizamos uma requisição para a PokeApi. O conteúdo da resposta está em um formato JSON aninhado, ou seja possui itens dent...