2023-11-24 01:25:20 +00:00
|
|
|
import os
|
|
|
|
|
|
|
|
from table import Table
|
|
|
|
from sql import SQL
|
2023-11-29 23:24:17 +00:00
|
|
|
import mysql.connector
|
2023-11-30 23:15:30 +00:00
|
|
|
from mysql.connector import Error
|
2023-11-24 01:25:20 +00:00
|
|
|
|
|
|
|
def main():
|
2023-11-29 23:24:17 +00:00
|
|
|
print("Bem-vindo!")
|
|
|
|
print("Deseja utilizar um banco de dados (BD) ou um arquivo .csv (CSV)?")
|
|
|
|
escolha = input()
|
2023-11-24 01:25:20 +00:00
|
|
|
|
2023-11-29 23:24:17 +00:00
|
|
|
if escolha == "CSV":
|
|
|
|
print("Digite a pasta onde estão os arquivos CSV:")
|
|
|
|
#csv_folder = input()
|
|
|
|
csv_folder = "./source"
|
2023-11-24 01:25:20 +00:00
|
|
|
|
2023-11-29 23:24:17 +00:00
|
|
|
tables = {}
|
2023-11-24 01:25:20 +00:00
|
|
|
|
2023-11-29 23:24:17 +00:00
|
|
|
# Seleciona todos o csv presentes na pasta
|
|
|
|
for file in os.listdir(csv_folder):
|
|
|
|
if file.endswith(".csv"):
|
|
|
|
table_name = file.split(".")[0]
|
|
|
|
table = Table(table_name)
|
|
|
|
table.load_from_csv(f"{csv_folder}/{file}")
|
|
|
|
tables[table_name] = table
|
2023-11-24 01:25:20 +00:00
|
|
|
|
2023-11-29 23:24:17 +00:00
|
|
|
print("Tabelas carregadas:")
|
|
|
|
print(tables.keys())
|
2023-11-24 01:25:20 +00:00
|
|
|
|
2023-11-29 23:24:17 +00:00
|
|
|
while True:
|
|
|
|
print("Digite a query [0 para sair]:")
|
|
|
|
query = input()
|
2023-11-24 01:25:20 +00:00
|
|
|
|
2023-11-29 23:24:17 +00:00
|
|
|
if query == "0":
|
|
|
|
break
|
2023-11-24 01:25:20 +00:00
|
|
|
|
2023-11-29 23:24:17 +00:00
|
|
|
sql = SQL(tables, query)
|
|
|
|
sql.execute()
|
|
|
|
|
|
|
|
print()
|
|
|
|
|
|
|
|
elif escolha == "BD":
|
2023-11-30 23:15:30 +00:00
|
|
|
try:
|
|
|
|
connection = mysql.connector.connect(host='localhost',
|
|
|
|
database='employees',
|
|
|
|
user='employeesdb',
|
|
|
|
password='Employees1!')
|
|
|
|
|
|
|
|
if connection.is_connected():
|
|
|
|
print("Conectado ao employees-db")
|
|
|
|
cursor = connection.cursor()
|
|
|
|
|
|
|
|
except Error as e:
|
|
|
|
print("Error while connecting to MySQL", e)
|
|
|
|
finally:
|
|
|
|
if connection.is_connected():
|
|
|
|
cursor.close()
|
|
|
|
connection.close()
|
|
|
|
print("MySQL connection is closed")
|
|
|
|
|
2023-11-29 23:24:17 +00:00
|
|
|
else:
|
|
|
|
print("Fora do intervalo!")
|
2023-11-24 01:38:46 +00:00
|
|
|
|
2023-11-24 01:25:20 +00:00
|
|
|
if __name__ == "__main__":
|
|
|
|
main()
|