DESAFIO Criar o banco de dados local com a biblioteca SQLAlchemy. Escrever os dados do arquivo CSV neste banco de dados local. 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
Criando um banco de dados local
import sqlalchemy
import pandas as pd
from sqlalchemy import create_engine, MetaData, Table, inspect
engine = create_engine('sqlite:///:memory:')
urld = 'https://raw.githubusercontent.com/alura-cursos/Pandas/main/clientes_banco.csv'
dadosd = pd.read_csv(urld)
dadosd
Salvando nos arquivos(memória do sqllite)
dadosd.to_sql('clientes_desafio', engine, index=False, if_exists='replace')
438463
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
mostrando o cliente antes dea alteração de rendimento:
from sqlalchemy import text
query_sql = "SELECT * FROM clientes_desafio WHERE ID_Cliente = 6840104"
pd.read_sql(query_sql, engine)
query = 'UPDATE clientes_desafio SET Rendimento_anual="300000.0" WHERE ID_Cliente=6840104'
with engine.connect() as conn:
result = conn.execute(text(query))
conn.commit()
Verificando a mudança:
query = "SELECT * FROM clientes_desafio WHERE ID_Cliente = 6840104"
pd.read_sql(query, engine)
Exclusão do registro do cliente de ID 5008809
query_delete = 'DELETE FROM clientes_desafio WHERE ID_Cliente=5008809'
with engine.connect() as conn:
result = conn.execute(text(query_delete))
conn.commit()
verificando a exclusãoa:
query_verifica = "SELECT * FROM clientes_desafio"
pd.read_sql(query_verifica, engine)
Adicionar um novo cliente na tabela: Adicionar um novo cliente na tabela: Dica importante: Para adicionar um(a) novo(a) cliente à tabela, utilize a cláusula INSERT INTO seguida do nome da tabela e depois especifique entre parênteses os nomes das colunas da tabela. Utilize a cláusula VALUES e, em seguida, passe entre parênteses os novos valores para esse novo registro. Certifique-se de que os valores estejam na ordem correta e no formato adequado para cada coluna.
query_delete = 'DELETE FROM clientes_desafio WHERE ID_Cliente=6850985'
with engine.connect() as conn:
result = conn.execute(text(query_delete))
conn.commit()
query = 'INSERT INTO clientes_desafio (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, "Casa/apartamento próprio")'
with engine.connect() as conn:
result = conn.execute(text(query))
conn.commit()
**** Verificando a inclusão:****
pd.read_sql_table('clientes_desafio', engine)
query = "SELECT * FROM clientes_desafio WHERE ID_Cliente = 6850985"
pd.read_sql(query, engine)