Ir para o conteúdo

Database

Aqui teremos toda conexão com o Banco de Dados

Acessando Banco e Inserindo Dados

Função de acesso e inserção no banco de dados.

Parameters:

Name Type Description Default
visualizacao_youtube int

Número de Visualização Youtube.

required
inscricao_youtube int

Número de Inscrição Youtube.

required
visualacao_youtube_28dias int

Número de Visualização Youtube 28 dias.

required
visualizacao_youtube_48horas int

Número de Visualização Youtube 48 horas.

required
seguidores_linkedin int

Número de Seguidores Linkedin.

required
impressoes_28dias int

Número de Impressoes 28 dias.

required
impressores_90dias int

Número de Impressores 90 dias.

required
Source code in src\database.py
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
def conectar_banco(
    visualizacao_youtube,
    inscricao_youtube,
    visualizacao_youtube_28dias,
    visualizacao_youtube_48horas,
    seguidores_linkedin,
    impressoes_28dias,
    impressores_90dias,
):
    """
    Função de acesso e inserção no banco de dados.

    Args:
        visualizacao_youtube (int): Número de Visualização Youtube.
        inscricao_youtube (int): Número de Inscrição Youtube.
        visualacao_youtube_28dias (int): Número de Visualização Youtube 28 dias.
        visualizacao_youtube_48horas (int): Número de Visualização Youtube 48 horas.
        seguidores_linkedin (int): Número de Seguidores Linkedin.
        impressoes_28dias (int): Número de Impressoes 28 dias.
        impressores_90dias (int): Número de Impressores 90 dias.
    """
    try:
        conexao = pg.connect(
            dbname="mydatabase", user="user", password="password", host="postgres"
        )
        cursor = conexao.cursor()

        cursor.execute(
            """
                CREATE TABLE IF NOT EXISTS dados_redes_sociais (
                    id SERIAL PRIMARY KEY,
                    visualizacao_youtube INTEGER,
                    inscricao_youtube INTEGER,
                    visualizacao_youtube_28dias INTEGER,
                    visualizacao_youtube_48horas INTEGER,
                    seguidores_linkedin INTEGER,
                    impressoes_28dias INTEGER,
                    impressores_90dias INTEGER,
                    data_envio TIMESTAMP DEFAULT CURRENT_TIMESTAMP
                )
            """
        )
        conexao.commit()
        cursor.execute(
            """
            INSERT INTO dados_redes_sociais (
                visualizacao_youtube,
                inscricao_youtube,
                visualizacao_youtube_28dias,
                visualizacao_youtube_48horas,
                seguidores_linkedin,
                impressoes_28dias,
                impressores_90dias
            ) VALUES (%s, %s, %s, %s, %s, %s, %s)
            """,
            (
                visualizacao_youtube,
                inscricao_youtube,
                visualizacao_youtube_28dias,
                visualizacao_youtube_48horas,
                seguidores_linkedin,
                impressoes_28dias,
                impressores_90dias,
            ),
        )

        conexao.commit()
        st.success("Dados Salvos Com Sucesso!!!!")
        cursor.close()
        conexao.close()

    except Exception as e:
        st.error(f"Error ao se conectar com o banco {e}")
        cursor.close()
        conexao.close()

Listando Dados

Função de consulta no banco de dados.

Source code in src\database.py
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
def listar_dados():
    """Função de consulta no banco de dados."""
    try:
        conexao = pg.connect(
            dbname="mydatabase", user="user", password="password", host="postgres"
        )
        cursor = conexao.cursor()

        cursor.execute("SELECT * FROM dados_redes_sociais")
        dados = cursor.fetchall()
        return dados

    except Exception as e:
        st.error(f"Error ao se conectar com o banco {e}")

    finally:
        if "conexao" in locals():
            conexao.close()
        if "cursor" in locals():
            cursor.close()