1
resposta

[Projeto] Como eu fiz o desafio:

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)
1 resposta

Olá, Roger! Como vai?

Muito bem! Continue resolvendo os desafios e compartilhando com a comunidade Alura.

Fico feliz em poder acompanhar seu empenho em desenvolver os desafios propostos neste curso de Pandas! Observei que você desenvolveu um objeto engine para representar a conexão com o banco de dados, utilizou muito bem o método to_sql() para salvar os dados em um arquivo e ainda mostrou domínio de como fazer a manipulação dos registros na tabela.

Continue compartilhando as suas soluções, com certeza isso ajudará outros estudantes e tem grande relevância para a comunidade.

Ícone de sugestão Para saber mais:

Sugestão de conteúdo para você mergulhar ainda mais sobre o tema:

Alguns materiais estão em inglês, mas é possível compreendê-los usando o recurso de tradução de páginas do próprio navegador.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!