import sqlalchemy
import pandas as pd
from sqlalchemy import create_engine, MetaData, Table, inspect, text
# 1. Criar engine para banco local SQLite
engine = create_engine('sqlite:///:memory:')
# 2. Ler CSV de cliente e gravar na tabela 'cliente'
url_clientes = 'https://raw.githubusercontent.com/alura-cursos/Pandas/main/clientes_banco.csv'
dados_clientes = pd.read_csv(url_clientes)
dados_clientes.to_sql('clientes', engine, if_exists='replace', index=False)
#Verificar Tabela
pd.read_sql_table('clientes', engine)
# 3. Realizar as atualizações no banco
#Atualização de Usuario
query = 'UPDATE clientes SET Rendimento_anual="300000" WHERE ID_Cliente = 6840104'
with engine.connect() as conn:
result = conn.execute(text(query))
conn.commit()
#Verificar se foi feita a modificação
query = 'SELECT * FROM clientes WHERE ID_Cliente = 6840104'
with engine.connect() as conn:
result = conn.execute(text(query))
df_result = pd.DataFrame(result.fetchall(), columns=result.keys())
display(df_result)
# Excluir o cliente com ID 5008809
query = 'DELETE FROM clientes WHERE ID_Cliente=5008809'
with engine.connect() as conn:
result = conn.execute(text(query))
conn.commit()
#Verificar se foi Excluido
pd.read_sql_table('clientes', engine)
# Inserir novo cliente com os dados especificados
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()
#Verificar se foi feita a adição de um novo cliente
query = 'SELECT * FROM clientes WHERE ID_Cliente = 6850985'
with engine.connect() as conn:
result = conn.execute(text(query))
df_result = pd.DataFrame(result.fetchall(), columns=result.keys())
display(df_result)