Python, Einführung in die Datenbank

Datenbanken


Hallo, hier und jetzt möchte ich Ihnen sagen, was Datenbanken sind, warum sie benötigt werden usw .; Um mit ihnen zu arbeiten, werden wir Python und seine sqlite3-Bibliothek verwenden.


Datenbank - Ein Datensatz, der gemäß einem Datenschema gespeichert und gemäß den Regeln der Datenmodellierungswerkzeuge bearbeitet wird


Dies ist, was Yandex uns sagt, aber in einfachen Worten, ohne auf all diese Konzepte einzugehen:


Datenbanken (DB) - Eine Bibliothek, die Daten in der einen oder anderen Form speichert.


Auf diese Weise können wir in die Bibliothek kommen und das Buch „Krieg und Frieden“ mit dem Buchstaben „B“ in der Romansektion finden. Aus der Datenbank können wir einen Datensatz für ein bestimmtes Argument, in diesem Fall das Genre, entnehmen.


Und hier stellt sich die Frage.


Wie kann man das machen?

Und um diese Frage zu beantworten, müssen wir etwas wissen.


Wie Daten in Datenbanken gespeichert werden


Zuerst müssen Sie verstehen, dass die Datenbanken unterteilt sind in:


  • Relational
  • Netzwerk
  • Hierarchisch

Netzwerk- und hierarchische Datenbanken:

Solche Datenbanken sind Grafiken und speichern Informationen in ihnen.


  • Hierarchisch - Baumdiagramm
  • Networking - Volle Zählung

Datenbankdaten werden hier nicht berücksichtigt. Gehen wir also zur relationalen Datenbank über.


Relationale Datenbanken

Relationale Datenbanken - Datenbanken, in denen Daten in Form einer Tabelle gespeichert sind, z. B. Exel.


SQL ist eine relationale Datenbank, und alle darin enthaltenen Daten werden in einer Tabelle gespeichert. Zum Beispiel das:





Ich denke, wir haben die Frage beantwortet und können noch weiter gehen.


Warum brauchen wir Datenbanken?


Über das ganze Leben hat die Menschheit eine unglaubliche Menge an Informationen gesammelt, und die Datenbank sammelt und sortiert diese Informationen, wie wir wissen, in Tabellen (in unserem Fall) . Und die Datenbanken helfen dabei, ruhig in all diesen Haufen von Informationen zu navigieren, sie dort hinzuzufügen, zu ändern usw .;


Von der Theorie zur Praxis


Jetzt werden wir in die Praxis gehen, aber vorher möchte ich noch etwas klarstellen. Oben habe ich diese Zeile geschrieben:


SQL ist eine relationale Datenbank, und alle darin enthaltenen Daten werden in einer Tabelle gespeichert.

Und wie Sie wissen, ist dies nicht wahr.
SQL ist eine strukturierte Abfragesprache. Grob gesagt ist dies eine Programmiersprache, mit der Sie Datenbanken, Tabellen usw. verwalten können.



Mein Pfosten korrigiert, lass uns üben gehen!


Installieren Sie sqlite3


Ja, das ist lächerlich, aber Sie wissen nie, ob jemand es braucht


Ich werde den Installationsalgorithmus nicht beschreiben, da er vor langer Zeit für mich durchgeführt wurde. Wenn Sie dieses Modul installieren müssen, gehen Sie bitte hier.


Erstellung der ersten Datenbank


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

Erst importieren, dann "con =".
Ich erkläre, sql.connect ("test.db") - erstellt eine Datei mit dem Namen "test.db", wenn es zum ersten Mal gestartet wurde. Das heißt, es akzeptiert den Pfad zur Datei mit der Erweiterung .db


cur = con.cursor - ermöglicht es uns, Operationen mit der Datenbank durchzuführen, der Rest ist nicht wichtig.


cur.execute (...) - Erstellt eine Tabelle mit dem Namen test und nur 1 ID-Spalte, in der alle Daten Zahlen sind


commit () - ungefähr gesagt, Speichern einer Datenbank


Und lassen Sie uns ein Programm erstellen, das nach dem Vor- und Nachnamen fragt, diese in die Datenbank schreibt und dann entweder die Zahlen auswählt oder sie durch Auswahl von Zahlen erneut schreibt.


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

Wir werden die Standardmomente überspringen.


cur.execute ("INS ...") - Hinzufügen von Daten


cur.execute ("SeL ...") - Daten empfangen. Und da das Array dort angegeben ist, iterieren wir darüber und nehmen danach auch die Daten aus dem Tupel.


SELECT, INSERT, DROP usw. Ist alles SQL.


cur.fetchall () bedeutet, dass alles, was aus einer DB kommt, in eine Variable geschrieben wird.


Fazit


Datenbanken sind eine wichtige und sehr notwendige Sache. Hier haben wir einen so kleinen Teil davon angesprochen, dass es schon lächerlich ist. Um wirklich herauszufinden, wie es funktioniert, empfehle ich Ihnen, alles im Internet zu lesen, da es viele Informationen gibt. Viel glück

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


All Articles