1. Criar o banco de dados local com a biblioteca SQLAlchemy.
objetivo: Configuração e Carga Inicial e ler o arquivo CSV e criar o banco de dados local.
import pandas as pd
from sqlalchemy import create_engine, text
# 1. Criar o banco de dados local (SQLite)
engine = create_engine('sqlite:///instituicao_financeira.db')
# 2. Ler os dados do arquivo CSV
df_clientes = pd.read_csv('clientes_banco.csv')
# 3. Escrever os dados no banco de dados local (tabela 'clientes')
df_clientes.to_sql('clientes', engine, index=False, if_exists='replace')
print("Banco de dados criado e dados iniciais inseridos com sucesso!")
2.Escrever os dados do arquivo CSV neste banco de dados local.
objetivo: Realizando as Atualizações e usando função with engine.connect()
with engine.connect() as conn:
# A. Atualizar rendimento anual do cliente ID 6840104
query_update = text('UPDATE clientes SET Rendimento_anual = 300000.0 WHERE ID_Cliente = 6840104')
conn.execute(query_update)
# B. Excluir o registro do cliente ID 5008809
query_delete = text('DELETE FROM clientes WHERE ID_Cliente = 5008809')
conn.execute(query_delete)
# C. Criar um novo registro de cliente (INSERT INTO)
query_insert = text('''
INSERT INTO clientes (ID_Cliente, Idade, Grau_escolaridade, Estado_civil, Tamanho_familia,
Categoria_de_renda, Ocupacao, Anos_empregado, Rendimento_anual, Tem_carro, Moradia)
VALUES (6850985, 33, 'Doutorado', 'Solteiro', 1, 'Empregado', 'TI', 2, 290000.0, 0, 'Casa/apartamento próprio')
''')
conn.execute(query_insert)
# Importante: Confirmar as alterações no banco
conn.commit()
print("Atualizações, exclusão e inserção realizadas com sucesso!")
3. Realizar três atualizações no banco de dados:
Atualizar o registro do cliente de ID 6840104 que teve o rendimento anual alterado para 300000.
Excluir o registro do cliente de ID 5008809, pois essa pessoa não possui mais conta na instituição financeira.
Criar um novo registro de cliente seguindo as especificações abaixo:
ID_Cliente: 6850985
Idade: 33
Grau_escolaridade: Doutorado
Estado_civil: Solteiro
Tamanho_familia: 1
Categoria_de_renda: Empregado
Ocupacao: TI
Anos_empregado: 2
Rendimento_anual: 290000
Tem_carro: 0
Moradia: Casa/apartamento próprio
objetivo: ler os dados de volta para um DataFrame e consultar os IDs afetados.
# Verificando o novo cliente e a atualização
query_verificacao = text('SELECT * FROM clientes WHERE ID_Cliente IN (6840104, 6850985, 5008809)')
df_resultado = pd.read_sql(query_verificacao, engine)
print("\nResultado da verificação:")
print(df_resultado)
# O cliente 5008809 não deve aparecer no resultado acima.