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.
Otimo conteúdo