SQLite

So greifen Sie von Python aus auf SQLite zu

So greifen Sie von Python aus auf SQLite zu
Python ist eine beliebte und robuste Programmiersprache mit vielen Funktionen, die es in einer Vielzahl von Fällen wie Data Science, Networking, IT-Automatisierung, Penetrationstests und vielem mehr einsetzbar machen. Es hat auch eine einfache Syntax, die es Entwicklern, die andere Programmiersprachen kennen, ermöglicht, sich problemlos an die Verwendung von Python anzupassen.Daten sind überall, und eine Vielzahl von Softwareanwendungen interagieren mit Daten mithilfe eines Datenbankverwaltungssystems. SQLite ist eines der beliebtesten Datenbankverwaltungssysteme in Python.

SQLite ist eine einfache, leistungsstarke, quelloffene und relationale Datenbank-Engine, die große Softwareanwendungen und eingebettete Systeme unterstützt. SQLite ist eigenständig und erfordert nur minimale Konfiguration, was die Einrichtung und Ausführung mit minimalem Zeitaufwand besonders einfach macht. Python ist standardmäßig mit einem SQLite-Modul (sqlite3) ausgestattet, einem sehr intuitiven Modul für die Arbeit mit SQLite-Datenbanken in Python.

In diesem Tutorial sehen wir uns an, wie Sie Python verwenden, um mit SQLite-Datenbanken zu arbeiten. Vom Herstellen einer Verbindung über das Erstellen von Datenbanken, das Lesen von Datenbanken, das Aktualisieren und Entfernen von Datenbanken.

Beginnen wir mit der Installation von SQLite:

SQLite und Python installieren

Abhängig von Ihrer Linux-Distribution können Sie das SQLite-Archiv von https://www . herunterladen.sqlite.org/herunterladen.html oder verwenden Sie den Paketmanager.

Um es unter Debian zu installieren:

sudo apt-get update
sudo apt-get install sqlite -y

Als nächstes sollten Sie die neueste Version von Python3 installiert haben. Python sollte standardmäßig bereits in Ihrer Distribution vorinstalliert sein.

SQLite-Shell

Die Standardmethode für die Interaktion mit SQLite-Datenbanken ist die Verwendung der Shell. Mit der Shell können Sie SQL-Befehle inline oder eine Sammlung ausführen, um Funktionen in Datenbanken auszuführen.

Um die SQLite-Shell zu starten, verwenden Sie den Befehl:

$ sqlite

SQLite-Version 2.8.17 Geben Sie „.Hilfe“ für Anweisungen

sqlite>

Dies sollte die SQLite-Shell mit einer Eingabeaufforderung starten, in der Sie Befehle eingeben können. Beginnen Sie mit der Eingabe des Befehls .Hilfe, um die Shell-Hilfe anzuzeigen.

sqlite> .Hilfe
.Datenbanken             Namen und Dateien der angehängten Datenbanken auflisten
.kippen ?TABELLE?…       Die Datenbank in ein Textformat ausgeben
.echo ON|OFF           Befehlsecho ein- oder ausschalten
.Beenden                  Dieses Programm beenden
.EXPLAIN ON|OFF        Ausgabemodus für EXPLAIN ein- oder ausschalten.
.Kopfzeile(n) ON|OFF      Anzeige von Kopfzeilen ein- oder ausschalten
.Hilfe                  Diese Nachricht anzeigen
.indices TABLE         Namen aller Indizes auf TABLE anzeigen
.mode MODE             Modus auf "Zeile(n)", "Spalte(n)" setzen,
"einfügen", "Liste" oder "html"
----------------------------------------------------------------------

Um die SQLite-Shell zu beenden, verwenden Sie die .Befehl beenden.

sqlite> .Verlassen

Es gibt andere Funktionen und Operationen, die Sie in der SQLite-Shell verwenden können. Um beispielsweise alle Datenbanken anzuzeigen, können Sie die .Datenbankbefehl.

Ich empfehle Ihnen dringend, mit der SQLite-Shell zu experimentieren und sich vertraut zu machen, da Sie so verstehen, wie Sie das SQLite3-Modul in Python verwenden.

Herstellen einer Verbindung mit einer Datenbank

Lassen Sie uns nun Python- und SQLite3-Module verwenden, um mit SQLite-Datenbanken zu interagieren. Es ist gut zu beachten, dass es andere Python-Module gibt, die Sie verwenden können, um mit SQLite zu interagieren. SQLite3 ist jedoch einfach und wird mit Python geliefert.

Betrachten Sie das folgende Skript, um eine Verbindung zur SQLite-Datenbank herzustellen.

sqlite3 von sqlite3 importieren Importfehler
def connect_db(db_path):
Verbindung = Keine versuchen:
Verbindung = sqlite3.connect(db_path)
print("Datenbank erfolgreich verbunden")
außer Fehler wie e:
print(f"Ein Fehler ist aufgetreten: e")
Rückverbindung
connect_db("/home/user/Desktop/demo.sqlite")

Wir beginnen mit dem Importieren der SQLite- und Error-Module.
In Zeile 3 erstellen wir eine Funktion connect_db(), die den Pfad der Datenbank als Argument verwendet takes.
Der nächste Teil enthält einen Try/Error-Block. Der erste Teil nimmt den Datenbankpfad als Argument und baut eine Verbindung auf. Beachten Sie, dass in SQLite die angegebene Datenbank automatisch erstellt wird, wenn sie nicht existiert.
Der Fehlerblock versucht, Ausnahmen abzufangen und gibt sie an den Benutzer aus.
In der letzten Zeile rufen wir die Funktion connect_db auf und übergeben den Pfad zu der Datenbank, die wir verwenden oder erstellen möchten.

HINWEIS: Wenn Sie statt einer Festplatte eine Speicherdatenbank erstellen möchten, können Sie im Verbindungsobjekt :memory angeben.

sqlite3.connect(“:Speicher”)

SQLite Tabelle erstellen

In SQLite können wir die SQL-Shell verwenden, um Tabellen mit der CREATE TABLE-Abfrage zu erstellen. Die allgemeine Syntax lautet wie folgt:

CREATE TABLE database_name.Tabellenname (
Spaltenname Datentyp PRIMARY KEY(Spalte(n),
column2_name Datentyp,
… SpalteN_name Datentyp,
);

Ich werde nicht in die Erstellung von Tabellen mit der SQLite-Shell eintauchen, da unser Hauptaugenmerk auf Python liegt. Sehen Sie sich die SQL Lite-Dokumentation aus der folgenden Ressource an, um mehr zu erfahren. Um nun die Python- und sqlite3-Module zum Erstellen von Datenbanktabellen zu verwenden, müssen wir das Cursor-Objekt verwenden und die Funktionen von SQL-Abfragen ausführen. Betrachten Sie den folgenden Code:

sqlite3 von sqlite3 importieren Importfehler
def connect_db(db_path):
Verbindung = Keine
Versuchen:
Verbindung = sqlite3.connect(db_path)
print("Datenbank erfolgreich verbunden")
außer Fehler wie e:
print(f"Ein Fehler ist aufgetreten: e")
return connection def run_query(connection, sql_query):
Cursor = Verbindung.Mauszeiger()
Versuchen:
Mauszeiger.Ausführen (sql_query)
Verbindung.verpflichten()
print("SQL-Abfrage erfolgreich ausgeführt… [OK]")
außer Fehler wie e:
print(f" Abfrage fehlgeschlagen… e")
Abfrage = """
TABELLE ERSTELLEN, WENN NICHT EXISTIERT zeigt (
id INTEGER PRIMÄRSCHLÜSSEL AUTOINKREMENT,
Name TEXT NICHT NULL,
Jahr INTGER,
Genre TEXT,
Land TEXT
);
"""
run_query(connection=connect_db("/home/user/Desktop/sql.sqlite"), sql_query=query)

Lassen Sie uns nun diskutieren, was der obige Code macht - finden Sie die erste oben erläuterte Funktion (siehe). In der zweiten Funktion create übergeben wir die Verbindung und die auszuführende Abfrage als Parameter. Die folgenden Zeilen erstellen ein Cursor-Objekt, mit dem wir die Methode execute aufrufen execute. Wie oben erwähnt, rufen die nächsten Zeilen das Cursor-Objekt auf, um die Methode auszuführen und die Abfrage als Parameter zu übergeben. Der Block druckt auch eine Nachricht bei erfolgreicher Ausführung der Abfrage. Sobald die Abfrage erfolgreich ausgeführt wurde, weisen wir SQLite an, die Commit-Methode zu verwenden, um die Änderungen in der Datenbank zu speichern. Der Block Exception fängt Ausnahmen ab und gibt die Fehlermeldung an den Benutzer aus. Schließlich erstellen wir die Abfrage, die mit einfacher SQLite-Syntax ausgeführt werden soll.

SQLite Datensätze einfügen

Um Daten zur SQLite-Datenbank hinzuzufügen, können wir in die run_query()-Funktion eintauchen, die wir zum Erstellen verwendet haben, da sie jede SQLite-Abfrage ausführen kann, die wir an sie übergeben. Wir verwenden jedoch die INSERT INTO-Abfrage, um Daten zur Tabelle hinzuzufügen.

Betrachten Sie den folgenden Block:

add_shows = """
EINFÜGEN IN
zeigt (ID, Name, Jahr, Genre, Land)
WERTE
("101", "Brooklyn Nine-Nine", "2013", "Komödie", "USA"),
("201", "Star-Trek: Discovery", "2017", "Sci-Fi", "USA"),
("301", "Star-Trek: Picard", "2020", "Sci-Fi", "USA");
""" run_query(connection=connect_db("/home/user/Desktop/sql.sqlite"), sql_query=add_shows)

Wir müssen jetzt die run_query-Funktion aufrufen und die Abfrage add_shows übergeben, um Daten in die Shows-Tabelle einzufügen. Stellen Sie sicher, dass die Tabelle, in die Sie Daten einfügen, existiert, um Fehler zu vermeiden.

SQLite Datensätze löschen

Sie können auch die Funktion run_query() verwenden, um Datensätze aus der angegebenen Tabelle zu entfernen. Sie müssen lediglich die Abfrage als DELETE FROM . festlegen.

Betrachten Sie die folgende Unterabfrage:

remove = "DELETE FROM zeigt WHERE name = 'Brooklyn Nine-Nine'" run_query(connection=connect_db("/home/user/Deskop/sql.sqlite"), sql_query=entfernen)

Die obige Abfrage entfernt die Show „Brooklyn Nine-Nine“ aus der Show-Tabelle.

Fazit

In diesem Tutorial haben Sie gelernt, wie Sie mit Python auf SQLite-Datenbanken zugreifen und mit ihnen interagieren. Nach dem, was Sie in diesem Tutorial gelernt haben, können Sie jetzt Funktionen erstellen, eine Verbindung zu SQLite-Datenbanken herstellen, Tabellen erstellen, Daten einfügen und löschen. Obwohl dies ein Einstiegsleitfaden für die Arbeit mit SQLite in Python ist, sollten Sie damit beginnen, andere Technologien wie SQLAlchemy und dergleichen zu erlernen.

Top 10 Spiele zum Spielen auf Ubuntu
Die Windows-Plattform war eine der dominierenden Plattformen für Spiele aufgrund des großen Prozentsatzes von Spielen, die heute entwickelt werden, um...
Die 5 besten Arcade-Spiele für Linux
Heutzutage sind Computer ernsthafte Maschinen, die zum Spielen verwendet werden. Wenn du den neuen Highscore nicht bekommst, weißt du was ich meine. I...
Schlacht um Wesnoth 1.13.6 Entwicklung veröffentlicht
Schlacht um Wesnoth 1.13.6, das letzten Monat veröffentlicht wurde, ist die sechste Entwicklungsversion im 1.13.x-Serie und bietet eine Reihe von Verb...