SQLite in Python: Grundlagen und Praxis-Tutorial

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Grundlagen der Arbeit mit SQLite in Python

Die Arbeit mit Datenbanken ist ein wichtiger Bestandteil fast jeder modernen Anwendung. Allerdings sind nicht immer komplexe und ressourcenintensive Datenbankmanagementsysteme wie MySQL oder PostgreSQL erforderlich. Für kleine Projekte, Prototypen oder lokale Anwendungen eignet sich die in Python integrierte Datenbank-Engine SQLite hervorragend.

In diesem Leitfaden gehen wir detailliert auf die Prinzipien der Arbeit mit SQLite in Python ein. Sie lernen, grundlegende Datenbankoperationen durchzuführen. Außerdem betrachten wir praktische Beispiele zur Verwendung des UPDATE-Befehls in SQLite mit Python.

Was ist SQLite und welche Vorteile bietet es?

SQLite ist eine leichtgewichtige, eingebettete relationale Datenbank. Sie benötigt keinen separaten Server für den Betrieb. Die SQLite-Datenbank wird direkt in einer einzigen Datei auf der Festplatte des Computers gespeichert.

Die wichtigsten Vorteile von SQLite:

  • In der Python-Standardbibliothek über das Modul sqlite3 enthalten
  • Keine Installation oder Konfiguration eines separaten Servers erforderlich
  • Ideal für lokale Anwendungen und mobile Lösungen
  • Einfach zu bedienen und hohe Geschwindigkeit bei kleinen Datenmengen
  • Unterstützt standardkonforme SQL-Abfragen
  • Plattformunabhängig und portabel
  • Zuverlässig und stabil im Betrieb

Verbindung zu einer SQLite-Datenbank herstellen

Für die Arbeit mit SQLite wird das Standardmodul sqlite3 verwendet. Eine separate Installation ist nicht erforderlich, da es bereits in der Standard-Python-Distribution enthalten ist.

import sqlite3

# Datenbank erstellen oder verbinden
conn = sqlite3.connect('example.db')

# Cursor für SQL-Abfragen erstellen
cursor = conn.cursor()

Bei der Ausführung dieses Codes wird die Datenbankdatei example.db im aktuellen Verzeichnis erstellt. Wenn die Datei bereits existiert, wird eine Verbindung zur bestehenden Datenbank hergestellt.

Datenbankstruktur erstellen

Tabellen erstellen

Das Erstellen einer Tabelle in SQLite erfolgt mit dem Befehl CREATE TABLE. Hier ein Beispiel für eine Tabelle zur Speicherung von Benutzerinformationen:

cursor.execute('''
    CREATE TABLE IF NOT EXISTS users (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        name TEXT NOT NULL,
        age INTEGER,
        email TEXT UNIQUE
    )
''')

conn.commit()

In diesem Beispiel wird eine Tabelle users mit vier Spalten erstellt:

  • id — eindeutige Kennung mit automatischer Nummerierung
  • name — Benutzername (Pflichtfeld)
  • age — Alter des Benutzers
  • email — E-Mail-Adresse (eindeutiger Wert)

Indizes zur Optimierung erstellen

Zur Leistungssteigerung von Abfragen können Indizes erstellt werden:

cursor.execute('''
    CREATE INDEX IF NOT EXISTS idx_users_email ON users(email)
''')

cursor.execute('''
    CREATE INDEX IF NOT EXISTS idx_users_age ON users(age)
''')

conn.commit()

Datenoperationen

Daten in die Tabelle einfügen

Das Einfügen eines einzelnen Datensatzes erfolgt mit dem Befehl INSERT:

cursor.execute('''
    INSERT INTO users (name, age, email) 
    VALUES (?, ?, ?)
''', ('Alice', 30, 'alice@example.com'))

conn.commit()

Massenhaftes Einfügen von Daten

Zum gleichzeitigen Einfügen mehrerer Datensätze wird die Methode executemany verwendet:

users_data = [
    ('Bob', 25, 'bob@example.com'),
    ('Charlie', 35, 'charlie@example.com'),
    ('Diana', 28, 'diana@example.com'),
    ('Eve', 32, 'eve@example.com')
]

cursor.executemany('''
    INSERT INTO users (name, age, email) 
    VALUES (?, ?, ?)
''', users_data)

conn.com                

Blogs

Buchempfehlungen