1
resposta

Desafio: manipulando um banco de dados

import sqlalchemy

import sqlalchemy
from sqlalchemy import create_engine, MetaData, Table, inspect,text

engine = create_engine('sqlite:///:memory:')

url = 'https://raw.githubusercontent.com/alura-cursos/Pandas/main/clientes_banco.csv'

import pandas as pd

dados = pd.read_csv(url)

dados.to_sql('clientes', engine, index=False)

pd.read_sql_table('clientes', engine)

query = 'UPDATE clientes SET Rendimento_anual="300000" WHERE ID_Cliente=6840104'
with engine.connect() as conn:
    result = conn.execute(text(query))
    conn.commit()  
    

query = 'DELETE FROM clientes WHERE ID_Cliente=5008809'
with engine.connect() as conn:
    result = conn.execute(text(query))
    conn.commit()  
    
query = '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, "Casa/apartamento próprio")'

with engine.connect() as conn:
  result = conn.execute(text(query))
  conn.commit()
  
pd.read_sql_table('clientes', engine)  
    
1 resposta

Oi, Marcia! Como vai?

Obrigada por compartilhar seu código com a comunidade Alura.

Isso! Você aplicou bem os comandos UPDATE, DELETE e INSERT diretamente com o SQL no Pandas usando o engine. Isso mostra domínio na manipulação de dados diretamente no banco!_

Destaco também o pd.read_sql_query que serve para visualizar resultados específicos de uma consulta SQL:

Veja este exemplo:


query = 'SELECT * FROM clientes WHERE Rendimento_anual > 250000'
pd.read_sql_query(query, engine)

Esse código retorna apenas os clientes com rendimento anual acima de 250000._

Conte com o apoio do Fórum na sua jornada. Abraços e bons estudos!

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