SQLite in Python: Einführung und 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

Arbeiten mit SQLite in Python: Vollständiges Tutorial für Anfänger und erfahrene Entwickler

Die Arbeit mit Datenbanken ist eine der wichtigsten Aufgaben bei der Entwicklung von Anwendungen. Wenn Sie eine leichte, eingebettete Lösung benötigen, ohne separate Server installieren zu müssen, ist SQLite ideal für Ihre Zwecke.

In Kombination mit Python, dank des Standardmoduls sqlite3, können Sie Datenbanken direkt aus dem Code heraus erstellen, ändern und verwalten. In diesem Artikel erfahren Sie, wie Sie eine Verbindung zu SQLite herstellen, Daten einfügen (INSERT), aktualisieren (UPDATE) und vieles mehr.

Was ist SQLite und warum wird es gewählt?

SQLite ist eine eingebettete relationale Datenbank, die alle Informationen in einer einzigen Datei speichert. Sie benötigt keinen separaten Server und eignet sich hervorragend für Prototyping, kleine Projekte und mobile Anwendungen.

SQLite wird in vielen Bereichen der Softwareentwicklung eingesetzt. Zahlreiche beliebte Anwendungen, darunter Browser, Messenger und mobile Apps, nutzen SQLite zur lokalen Datenspeicherung.

Vorteile von SQLite

  • Keine Serverinstallation erforderlich
  • Hohe Geschwindigkeit
  • Einfach zu bedienen
  • Hervorragende Integration mit Python über das Modul sqlite3
  • Plattformunabhängigkeit und Portabilität
  • Unterstützung von ACID-Transaktionen
  • Minimaler Ressourcenverbrauch

Einschränkungen von SQLite

  • Keine gleichzeitigen Schreibvorgänge durch mehrere Benutzer
  • Begrenzte Leistung bei großen Datenmengen
  • Keine integrierte Replikation
  • Eingeschränkte Möglichkeiten für komplexe Mehrbenutzeranwendungen

Verbindung zu einer SQLite-Datenbank in Python herstellen

Grundlegende Verbindung

import sqlite3

# Verbindung zur Datenbank herstellen (wenn die Datei nicht existiert, wird sie erstellt)
conn = sqlite3.connect('my_database.db')

# Cursor zum Ausführen von SQL-Abfragen erstellen
cursor = conn.cursor()

Verbindung zu einer In-Memory-Datenbank

Für temporäre Datenspeicherung oder Tests können Sie eine In-Memory-Datenbank verwenden:

conn = sqlite3.connect(':memory:')

Verbindungsparameter konfigurieren

conn = sqlite3.connect('my_database.db', timeout=10)
conn.execute('PRAGMA foreign_keys = ON')  # Fremdschlüssel aktivieren

Tabelle in SQLite erstellen

Einfache Tabelle erstellen

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

Tabelle mit zusätzlichen Einschränkungen erstellen

cursor.execute('''
    CREATE TABLE IF NOT EXISTS products (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        name TEXT NOT NULL UNIQUE,
        price REAL CHECK(price > 0),
        category TEXT DEFAULT 'uncategorized',
        created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
    )
''')
conn.commit()

Indizes zur Optimierung erstellen

cursor.execute('''
    CREATE INDEX IF NOT EXISTS idx_users_name ON users(name)
''')
conn.commit()

Daten in eine Tabelle einfügen – Python sqlite3 INSERT

Einen einzelnen Datensatz einfügen

Eine der häufigsten Fragen ist, wie man Daten in eine SQLite-Tabelle einfügt:

cursor.execute('''
    INSERT INTO users (name, age) VALUES (?, ?)
''', ('Max', 30))
conn.commit()

Die Verwendung von Fragezeichen schützt vor SQL-Injection und ist der empfohlene Ansatz.

Massenhaftes Einfügen von Daten

users = [('Anna                

Blogs

Buchempfehlungen