1
resposta

[Projeto] Praticando SQL - Python e o banco de dados

Minha solução:

import sqlite3

def conectar_banco():
    conn = sqlite3.connect('loja.db')
    return conn

def criar_tabela_produtos():
    conn = conectar_banco()
    cursor = conn.cursor()
    cursor.execute('''CREATE TABLE IF NOT EXISTS produtos (
        id INTEGER PRIMARY KEY,
        nome_produto TEXT,
        preco_produto INTERGER
        )
        ''')
def criar_produtos(nome, preco):
    conn = conectar_banco()
    cursor = conn.cursor()
    cursor.execute('''INSERT INTO produtos (nome_produto, preco_produto) VALUES (?, ?)''', (nome, preco))
    conn.commit()
    conn.close()

def listar_produtos():
    conn = conectar_banco()
    cursor = conn.cursor()
    cursor.execute('''SELECT * FROM produtos''')
    conn.commit()
    produtos = cursor.fetchall()
    for produto in produtos:
        print(produto)
    conn.close()

if __name__ == '__main__':
    criar_tabela_produtos()
    criar_produtos(nome='Ovo', preco=20.99)
    criar_produtos(nome='Maçã', preco=8.99)
    criar_produtos(nome='Banana', preco=6.99)
    listar_produtos()
1 resposta

Olá, Vitor! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso de funções para organizar a conexão com o banco de dados, utilizou muito bem o comando SQL para criar e inserir registros e ainda compreendeu a importância de estruturar o código em blocos reutilizáveis para facilitar a manutenção.

Uma ajuste necessário é corrigir o tipo da coluna preco_produto, que está escrito como INTERGER. Assim:

CREATE TABLE IF NOT EXISTS produtos (
    id INTEGER PRIMARY KEY,
    nome_produto TEXT,
    preco_produto REAL
)

Isso garante que os preços sejam armazenados corretamente como valores numéricos com casas decimais.

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!