Diese Seite soll dir einen groben Überblick geben, wie du mithilfe von SQLite und Python Werte in einer Datenbank speichern kannst. Eine ausführliche Dokumentation inkl. Anleitung ist am Ende dieser Seite verlinkt.
Eine Datenbank, auch Datenbanksystem genannt, ist ein System zur elektronischen Datenverwaltung. Die wesentliche Aufgabe einer Datenbank ist es, große Datenmengen effizient, widerspruchsfrei und dauerhaft zu speichern und benötigte Teilmengen in unterschiedlichen, bedarfsgerechten Darstellungsformen für Benutzer und Anwendungsprogramme bereitzustellen.
Quelle: Wikipedia (26.06.2026)
Übersetzt heißt das:
In einer Datenbank kannst du Daten (z.B. Messwerte) in Tabellen geordnet speichern und später einfach wieder auf bestimmte Daten zugreifen (z.B. alle Temperaturwerte vom 26. Juni 2026 zwischen 10 und 11 Uhr.
Die meisten großen Datenbanken basieren auf dem Standard SQL. Das grundlegende Schema ist immer das selbe:
→ kurz: "CRUD"
SQL-Datenbanken werden meistens auf einem Server installiert, was für kleinere Projekte jedoch oft umständlich sein kann. Deshalb gibt es SQLite, eine vereinfachte Version, die mit einer lokalen Datenbankdatei arbeitet. Diese lässt sich mit wenigen Befehlen in gängige Programmiersprachen wie Python einbinden und verwenden. Für erste Tests oder kleinere Projekte ist SQLite somit ideal, damit du schnell loslegen kannst.
Zum einfachen grafischen Erstellen und Verwalten von Tabellen in SQLite-Datenbanken kann das kostenlose Tool DB Browser for SQLite verwendet werden.
Alternativ kannst du einfach eine Datenbank-Datei mit der Endung .db erstellen und direkt über den entsprechenden SQLite-Befehl (CREATE TABLE, siehe unten) Tabellen in dieser Datenbank erstellen.
Um SQLite in dein Python-Programm einzubinden, musst du zunächste die enstprechende Bibliothek einbinden:
import sqlite3
Nun kann eine Verbindung zu einer Datenbank-Datei (die hier im gleichen Ordner liegt wie das Python-Programm) hergestellt werden. Anhand der Verbindung kann anschließend ein Cursor (Variable cur) erstellt werden, mit dessen Hilfe wir später auf die Datenbank zugreifen und Befehle ausführen können.
con = sqlite3.connect("tutorial.db")
cur = con.cursor()
Um einen SQLite-Befehl auszuführen, kann die Funktion execute(<Befehl>) verwendet werden. Mit dem hier dargestellten Befehl wird beispielsweise eine neue Tabelle benutzer in der Datenbank erstellt, die drei Spalten name, email und alter hat.
cur.execute("CREATE TABLE benutzer(name, email, alter)")
Genauso können wir eine Select-From-Where-Abfrage durchführen, um Einträge in der Datenbank zu suchen. Hier suchen wir beispielsweise den Namen des Benutzers mit der E-Mail-Adresse bob@sfz-bw.de. Um das erste Ergebnis abzurufen (es kann auch mehrere Ergebnisse geben), nutzen wir die Funktion fetchone(). Mit fetchall() hingegegen werden alle zutreffenden Ergebnisse abgerufen.
res = cur.execute("SELECT name FROM benutzer WHERE email='bob@sfz-bw.de'")
name = res.fetchone()
Eine Besonderheit gibt es beim Einfügen von Daten (INSERT): Da hier eine Transaktion gestartet wird, müssen wir diese mit der Funktion commit() abschließen, damit sie ausgeführt wird:
cur.execute("""
INSERT INTO benutzer VALUES
('alice', 'alice@sfz-bw.de', 15),
('bob', 'bob@sfz-bw.de', 14)
""")
con.commit()
Eine Übersicht über alle SQLite-Befehle findest unter https://www.sqlite.org/lang.html.