Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Desafio: manipulando um banco de dados

import sqlalchemy
from sqlalchemy import create_engine, MetaData, Table, inspect
engine = create_engine('sqlite:///:memory:')
import pandas as al
url = 'https://raw.githubusercontent.com/alura-cursos/Pandas/main/clientes_banco.csv'
dados = al.read_csv(url)
dados.to_sql('clientes', engine, index=False)
al.read_sql_table('clientes', engine)
from sqlalchemy import text
querry = 'UPDATE clientes SET Rendimento_anual="300000" WHERE ID_Cliente=6840104'
with engine.connect() as conn: #Garante que a conexão seja feita da forma correta
 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()
al.read_sql_table('clientes', engine)
2 respostas
solução!

Olá, Thamiris! Como vai?

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

Observei que você explorou o uso do read_sql_table para consultar dados diretamente do banco, utilizou muito bem o to_sql para persistir o DataFrame no SQLite e ainda compreendeu a importância do text() do SQL Alchemy para executar instruções SQL seguras.

Uma dica interessante para o futuro é usar inspect(engine).get_table_names() para verificar se a tabela foi criada corretamente antes de realizar outras operações. Dessa forma:

from sqlalchemy import inspect

insp = inspect(engine)
print(insp.get_table_names())

Isso ajuda a evitar erros em consultas ou alterações em tabelas que ainda não foram criadas ou persistidas.

Í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!

Fiz! Obrigada tinha esquecido

Insira aqui a descrição dessa imagem para ajudar na acessibilidade