Pular para o conteúdo

Acesso ao Banco de Dados Oracle com Python: Guia Detalhado e Exemplos Práticos

Acesso ao Banco de Dados Oracle com Python: Guia Detalhado e Exemplos Práticos

O Python é uma linguagem de programação poderosa e popular que oferece suporte a várias bibliotecas e frameworks para acessar bancos de dados. O Oracle é um sistema gerenciador de banco de dados (SGBD) amplamente utilizado em empresas e organizações para armazenar grandes volumes de dados. Neste artigo, vamos explorar como acessar o banco de dados Oracle usando Python e fornecer exemplos práticos para ilustrar os conceitos.

Instalação das Dependências

Antes de começarmos, certifique-se de ter o Python instalado em seu sistema. Além disso, é necessário instalar a biblioteca cx_Oracle, que é uma extensão Python que permite o acesso ao banco de dados Oracle. Para instalar a biblioteca, utilize o gerenciador de pacotes pip com o seguinte comando:

pip install cx_Oracle

Criação da Tabela de Exemplo

Aqui está o código SQL para criar a tabela de exemplo que usaremos em nossos exemplos práticos:

CREATE TABLE tabela_exemplo (
    id NUMBER PRIMARY KEY,
    nome VARCHAR2(100),
    idade NUMBER
);

Inserção de Dados na Tabela

Agora, vamos inserir alguns dados na tabela para que possamos realizar as consultas e operações mencionadas anteriormente:

INSERT INTO tabela_exemplo (id, nome, idade) VALUES (1, 'João', 30);
INSERT INTO tabela_exemplo (id, nome, idade) VALUES (2, 'Maria', 25);
INSERT INTO tabela_exemplo (id, nome, idade) VALUES (3, 'Pedro', 22);
INSERT INTO tabela_exemplo (id, nome, idade) VALUES (4, 'Ana', 28);
INSERT INTO tabela_exemplo (id, nome, idade) VALUES (5, 'Carlos', 35);

Adicione esses comandos SQL ao seu banco de dados Oracle antes de executar os exemplos de acesso com Python. Isso garantirá que a tabela de exemplo esteja pronta com alguns dados para as consultas e operações.

Com a tabela criada e os dados inseridos, você pode seguir os exemplos práticos de acesso ao banco de dados Oracle com Python apresentados no artigo.

Conexão ao Banco de Dados Oracle

Para conectar-se ao banco de dados Oracle, você precisa ter algumas informações importantes em mãos: o nome do servidor (ou endereço IP), o número da porta, o nome do serviço ou SID do banco de dados, e as credenciais de acesso (nome de usuário e senha). Com essas informações, podemos estabelecer uma conexão usando a biblioteca cx_Oracle.

import cx_Oracle

# Informações de conexão
username = 'seu_usuario'
password = 'sua_senha'
host = 'localhost'  # Endereço do servidor
port = 1521        # Número da porta padrão do Oracle
service_name = 'seu_service_name'  # Ou substitua por SID, caso esteja usando

# String de conexão
dsn = cx_Oracle.makedsn(host, port, service_name=service_name)

# Conectar ao banco de dados
connection = cx_Oracle.connect(username, password, dsn)

Execução de Consultas

Após estabelecer a conexão, podemos executar consultas SQL no banco de dados Oracle. Vamos realizar alguns exemplos práticos.

Consulta Simples
# Criar um cursor
cursor = connection.cursor()

# Consulta SQL
sql = 'SELECT nome, idade FROM tabela_exemplo'

# Executar a consulta
cursor.execute(sql)

# Recuperar os resultados
for nome, idade in cursor:
    print(f'Nome: {nome}, Idade: {idade}')

# Fechar o cursor
cursor.close()
Consulta com Parâmetros

Consultas parametrizadas são úteis para evitar injeções de SQL e melhorar a performance em consultas frequentes.

# Criar um cursor
cursor = connection.cursor()

# Consulta SQL com parâmetro
sql = 'SELECT nome, idade FROM tabela_exemplo WHERE idade > :min_idade'

# Executar a consulta com parâmetro
min_idade = 18
cursor.execute(sql, min_idade=min_idade)

# Recuperar os resultados
for nome, idade in cursor:
    print(f'Nome: {nome}, Idade: {idade}')

# Fechar o cursor
cursor.close()

Inserção, Atualização e Exclusão de Dados

Além de consultas, podemos realizar operações de inserção, atualização e exclusão de dados no banco de dados Oracle.

Inserção de Dados
# Criar um cursor
cursor = connection.cursor()

# Dados para inserção
novo_nome = 'Novo Usuário'
nova_idade = 25

# Consulta SQL para inserção
sql = 'INSERT INTO tabela_exemplo (nome, idade) VALUES (:nome, :idade)'

# Executar a inserção
cursor.execute(sql, nome=novo_nome, idade=nova_idade)

# Confirmar a transação (commit)
connection.commit()

# Fechar o cursor
cursor.close()
Atualização de Dados
# Criar um cursor
cursor = connection.cursor()

# Dados para atualização
id_usuario = 1
novo_nome = 'Usuário Atualizado'
nova_idade = 30

# Consulta SQL para atualização
sql = 'UPDATE tabela_exemplo SET nome = :nome, idade = :idade WHERE id = :id'

# Executar a atualização
cursor.execute(sql, nome=novo_nome, idade=nova_idade, id=id_usuario)

# Confirmar a transação (commit)
connection.commit()

# Fechar o cursor
cursor.close()
Exclusão de Dados
# Criar um cursor
cursor = connection.cursor()

# ID do usuário para exclusão
id_usuario = 1

# Consulta SQL para exclusão
sql = 'DELETE FROM tabela_exemplo WHERE id = :id'

# Executar a exclusão
cursor.execute(sql, id=id_usuario)

# Confirmar a transação (commit)
connection.commit()

# Fechar o cursor
cursor.close()

Encerrando a Conexão

Após concluir todas as operações, lembre-se de fechar a conexão com o banco de dados.

# Fechar a conexão
connection.close()

Conclusão

Neste artigo, vimos como acessar o banco de dados Oracle usando Python. Utilizando a biblioteca cx_Oracle, estabelecemos uma conexão, executamos consultas, inserimos, atualizamos e excluímos dados. Com esses exemplos práticos, você deve estar preparado para trabalhar com Python em conjunto com o banco de dados Oracle e aproveitar a versatilidade dessa combinação para manipular dados e realizar análises sofisticadas. Lembre-se sempre de praticar boas práticas de segurança e gerenciamento de conexões ao interagir com bancos de dados em ambientes de produção.

Giovano Silva

Giovano Silva

Giovano Silva é um profissional com mais de 10 anos de experiência em tecnologias Oracle, com ênfase em PL/SQL. Ele adora escrever sobre soluções para problemas comuns enfrentados por profissionais Oracle em seu dia a dia. Seu objetivo é compartilhar conhecimento, simplificar conceitos complexos e ajudar a comunidade Oracle a crescer coletivamente.

Comentário(s) da Comunidade

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

plugins premium WordPress