Python, introdução ao banco de dados

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

Source: https://habr.com/ru/post/pt481084/


All Articles