#Desafio: manipulando um banco de dados
#importando bibliotecas, classes, funções
import pandas as pd
import sqlalchemy
from sqlalchemy import create_engine, MetaData, Table, inspect, text
#criando um banco de dados do tipo sqlite, armazenar o banco na memória local
engine = create_engine('sqlite:///:memory:')
#url com a base de dados
url = 'https://raw.githubusercontent.com/alura-cursos/Pandas/main/clientes_banco.csv'
#criando um dataframe a partir do csv
clientes_banco = pd.read_csv(url)
#conferindo os dados importados
clientes_banco.head()
#criando a tabela clientes_banco
clientes_banco.to_sql('clientes_banco', engine, index = False)
#conferindo a tabela criada
pd.read_sql_table('clientes_banco', engine)
#criando as queries
query_1 = 'UPDATE clientes_banco SET Rendimento_anual = 300000 WHERE ID_Cliente = 6840104'
query_2 = 'DELETE FROM clientes_banco WHERE ID_Cliente = 5008809'
query_3 = 'INSERT INTO clientes_banco (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")'
#conferindo os dados antes de serem alterados
pd.read_sql_query('SELECT * FROM clientes_banco WHERE ID_Cliente = 6840104', engine)
#conferindo os dados antes de serem alterados
pd.read_sql_query('SELECT * FROM clientes_banco WHERE ID_Cliente = 5008809', engine)
#executando as queries
with engine.connect() as conn:
conn.execute(text(query_1))
conn.execute(text(query_2))
conn.execute(text(query_3))
conn.commit()
#conferindo os dados depois de serem alterados
pd.read_sql_query('SELECT * FROM clientes_banco WHERE ID_Cliente = 6840104', engine)
#conferindo os dados depois de serem alterados
pd.read_sql_query('SELECT * FROM clientes_banco WHERE ID_Cliente = 5008809', engine)
#conferindo os dados depois de serem alterados
pd.read_sql_table('clientes_banco', engine)