Python, introducción a la base de datos

Bases de datos


Hola, aquí y ahora quiero decirles qué son las bases de datos, por qué son necesarias, etc. para trabajar con ellos usaremos python y su biblioteca sqlite3.


Base de datos: un conjunto de datos almacenados de acuerdo con un esquema de datos, manipulados de acuerdo con las reglas de las herramientas de modelado de datos


Esto es lo que nos dice Yandex, pero en palabras simples, sin profundizar en todos estos conceptos, entonces:


Bases de datos (DB): una biblioteca que almacena datos de una forma u otra.


Es decir, cómo podemos llegar a la biblioteca y tomar el libro "Guerra y paz", sabiendo que estará en la sección de novelas, con la letra "B", y de la base de datos podemos tomar un registro de un determinado argumento, en este caso el género.


Y aquí surge la pregunta.


Como hacerlo

Y para responder a esta pregunta, necesitamos saber algo.


Cómo se almacenan los datos en las bases de datos


Primero debe comprender que las bases de datos se dividen en:


  • Relacional
  • Red
  • Jerárquico

Red y bases de datos jerárquicas:

Dichas bases de datos son gráficos y almacenan información en ellas.


  • Jerárquico - gráfico de árbol
  • Redes: recuento completo

No consideraremos los datos de la base de datos aquí. Pasemos a la base de datos relacional.


Bases de datos relacionales

Bases de datos relacionales: bases de datos en las que los datos se almacenan en forma de tabla, por ejemplo, Exel.


SQL es una base de datos relacional, y todos los datos que contiene se almacenan en una tabla. Por ejemplo, esto:





Creo que respondimos la pregunta y podemos ir más allá.


¿Por qué necesitamos bases de datos?


Durante toda la vida, la humanidad ha acumulado una cantidad increíble de información, y la base de datos, como sabemos, recopila y clasifica esta información en tablas (en nuestro caso) . Y las bases de datos ayudan a navegar con calma en todo este montón de información, agregarla allí, cambiarla, etc.


De la teoría a la práctica.


Ahora iremos a la práctica, pero antes de eso me gustaría aclarar algo. Arriba, escribí esta línea:


SQL es una base de datos relacional, y todos los datos que contiene se almacenan en una tabla.

Y como sabes, esto no es cierto.
SQL es un lenguaje de consulta estructurado. En términos generales, este es un lenguaje de programación que le permite administrar bases de datos, tablas en ellas, etc.



Mi jamba corregida, ¡vamos a practicar!


Instalar sqlite3


Sí, esto es ridículo, pero nunca se sabe si alguien necesitará


No describiré el algoritmo de instalación, porque lo hice hace mucho tiempo, si necesita instalar este módulo, vaya aquí.


Creación de la primera base de datos.


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() 

Primero importa, luego "con =".
Explico, sql.connect ("test.db") : crea un archivo llamado "test.db" si se lanzó por primera vez. Es decir, acepta la ruta al archivo con la extensión .db


cur = con.cursor: nos permite realizar operaciones con la base de datos, el resto no es importante.


cur.execute (...): crea una tabla con la prueba de nombre y solo 1 columna de identificación, en la que todos los datos son números


commit () - en términos generales, guardar una base de datos


Y creemos un programa que solicite el nombre y el apellido, y los escriba en la base de datos, y luego seleccione los números o los vuelva a escribir por elección de 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() 

Nos saltaremos los momentos estándar.


cur.execute ("INS ...") - Agregar datos


cur.execute ("SeL ...") - Recibe datos. Y dado que la matriz se proporciona allí, iteramos sobre ella, y después de eso también tomamos los datos de la tupla.


SELECCIONAR, INSERTAR, BAJAR, etc. Es todo SQL.


cur.fetchall () es que todo lo que vino de un DB se escribiría en una variable.


Conclusión


Las bases de datos son una cosa importante y muy necesaria. Aquí hemos tocado una parte tan pequeña que ya es ridícula. Por lo tanto, para saber realmente cómo funciona, le aconsejo que lea sobre todo en Internet, ya que hay mucha información. Buena suerte

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


All Articles