Executando verificação de segurança...
2

Legal, bem simples e intuitivo. Não precisa se preocupar amigo, você não será julgado! Este é um pedaço de internet muito massa, onde o objetivo é a gente se ajudar.

Meu primeiro contato com banco de dados foi com sqlite, é bem legal de usar.

Gostaria de compartilhar apenas dois pensamentos.

Uma coisa que talvez seja relevante e possa ajudar, é usar três aspas para aumentar a legibilidade de queries maiores. Por exemplo:

my_long_query = """
    CREATE TABLE tb_contatos (
        id INT PRIMARY KEY AUTOINCREMENT,
        nome VARCHAR (20),
        email VARCHAR(30),
        telefone VARCHAR(15)
    )
"""

Daria para formatar de qualquer jeito que achasse melhor.

E também, uma feature interessante usando essa biblioteca é o segundo argumento do método execute, que serve para passar variáveis na query. Por exemplo:

con = sqlite3.connect('path/to/my/db.sqlite3')
cursor = con.cursor()
cursor.execute(
        'INSERT INTO tb_contatos (nome, email, telefone) VALUES (?, ?, ?)',
        ['Irlan', '[email protected]', '2069020']
)

Basicamente, cada item da lista será plugado no lugar de cada ?. Talvez desse para adaptar a função de registrar assim:

def registrar(con, sql, *args):
    cursor = con.cursor()
    cursor.execute(sql, *args)
    con.commit()

E sobre o meme no final, vamos aproveitar nossos últimos momentos com python, agora já está com 32 anos, resistindo bem 🥲

Carregando publicação patrocinada...
2

Pô, massinha! O lugar onde aprendi sobre sqlite mencionou o lance das três aspas dupla, mas acabei que nem dei tanta atenção.Mas olhando assim, fica bem mais fácil de se vizualizar ;D

Obrigado por complementar meu post, ajudou tanto a mim quanto a outras pessoas que leram/lerão. E o lance do segundo argumento do execute, eu admito que não sabia dessa! Mais uma vez obrigado por complementar meu post, cay 🤝

1

Tamo junto mano :D

Talvez você já saiba, mas sobre o segundo argumento do execute, talvez surja a dúvida: "Por que fazer isso se dá pra simplesmente usar uma f string?". Basicamente é para evitar um ataque chamado sql injection, onde um usuário malicioso envia para sua query caracteres perigosos, que podem ser interpretados como sendo código sql, que consegue modificar a query, ao invés de apenas um valor normal.

As bibliotecas usadas para interagir com banco de dados costumam ter recursos como esse para que elas consigam lidar com isso de forma apropriada, e garantir que os valores serão interpretados apenas como uma string e não como sql.

1