Bases de dados
Olá, aqui e agora eu quero lhe dizer o que são bancos de dados, por que são necessários, etc; Para trabalhar com eles, usaremos python e sua biblioteca sqlite3.
Banco de dados - um conjunto de dados armazenados de acordo com um esquema de dados, manipulados de acordo com as regras das ferramentas de modelagem de dados
É isso que o Yandex nos diz, mas em palavras simples, sem se aprofundar em todos esses conceitos, então:
Bancos de dados (DB) - uma biblioteca que armazena dados de uma forma ou de outra.
Ou seja, como podemos chegar à biblioteca e levar o livro “Guerra e Paz”, sabendo que ele estará na seção de romances, com a letra “B”, e no banco de dados podemos registrar um certo argumento, neste caso o gênero.
E aqui surge a pergunta.
Como fazer isso?
E para responder a essa pergunta, precisamos saber algo.
Como os dados são armazenados nos bancos de dados
Primeiro, você precisa entender que os bancos de dados estão divididos em:
- Relacional
- Rede
- Hierárquico
Rede e bancos de dados hierárquicos:
Esses bancos de dados são gráficos e armazenam informações neles.
- Hierárquico - gráfico em árvore
- Rede - contagem total
Não consideraremos os dados do banco de dados aqui. Então, vamos para o banco de dados relacional.
Bancos de dados relacionais
Bancos de dados relacionais - bancos de dados nos quais os dados são armazenados na forma de uma tabela, por exemplo, Exel.
SQL é um banco de dados relacional e todos os dados nele armazenados em uma tabela. Por exemplo, isto:

Penso que respondemos à pergunta e podemos ir mais longe.
Por que precisamos de bancos de dados?
Durante toda a vida, a humanidade acumulou uma quantidade incrível de informações, e o banco de dados, como sabemos, coleta e classifica essas informações em tabelas (no nosso caso) . E os bancos de dados ajudam a navegar com calma por toda essa pilha de informações, adicionando-a, alterando-a, etc;
Da teoria à prática
Agora vamos entrar em prática, mas antes disso eu gostaria de esclarecer uma coisa. Acima, escrevi esta linha:
SQL é um banco de dados relacional e todos os dados nele armazenados em uma tabela.
E como você sabe, isso não é verdade.
SQL é uma linguagem de consulta estruturada. Grosso modo, essa é uma linguagem de programação que permite gerenciar bancos de dados, tabelas, etc.
Meu batente corrigido, vamos praticar!
Instale o sqlite3
Sim, isso é ridículo, mas você nunca sabe se alguém vai precisar
Não descreverei o algoritmo de instalação, porque foi feito há muito tempo, se você precisar instalar este módulo, por favor, vá aqui.
Criação do primeiro banco de dados
import sqlite3 as sql con = sql.connect('test.db') with con: cur = con.cursor() cur.execute("CREATE TABLE IF NOT EXISTS `test` (id INTEGER)") con.commit()
Primeiro importe, depois "con =".
Eu explico, sql.connect ("test.db") - cria um arquivo chamado "test.db" se ele foi iniciado pela primeira vez. Ou seja, ele aceita o caminho para o arquivo com a extensão .db
cur = con.cursor - permite realizar operações com o banco de dados, o resto não é importante.
cur.execute (...) - cria uma tabela com o teste de nome e apenas 1 coluna de id, na qual todos os dados são números
commit () - grosso modo, salvando um banco de dados
E vamos criar um programa que solicite o nome e o sobrenome e os grave no banco de dados e, em seguida, selecione os números ou os escreva novamente pela escolha dos números.
import sqlite3 as sql print("1 - \n2 - ") choice = int(input("> ")) con = sql.connect('test.db') with con: cur = con.cursor() cur.execute("CREATE TABLE IF NOT EXISTS `test` (`name` STRING, `surname` STRING)") if choice == 1: name = input("Name\n> ") surname = input("Surname\n> ") cur.execute(f"INSERT INTO `test` VALUES ('{name}', '{surname}')") elif choice == 2: cur.execute("SELECT * FROM `test`") rows = cur.fetchall() for row in rows: print(row[0], row[1]) else: print(" ") con.commit() cur.close()
Iremos pular os momentos padrão.
cur.execute ("INS ...") - Adicionando dados
cur.execute ("SeL ...") - Recebe dados. E como o array é dado lá, iteramos sobre ele e, depois disso, também coletamos os dados da tupla.
SELECIONAR, INSERIR, GOTA, etc. É tudo SQL.
cur.fetchall () é que tudo o que veio de um banco de dados seria gravado em uma variável.
Conclusão
Bancos de dados são uma coisa importante e muito necessária. Aqui, tocamos em uma parte tão pequena que já é ridícula. Portanto, para realmente descobrir como funciona, aconselho você a ler sobre tudo isso na Internet, pois há muita informação. Boa sorte