0Pricing
Learn AI with Python · Lektion

SQLite mit Pythons sqlite3-Modul

Datenbanken und Tabellen erstellen, INSERT/SELECT/UPDATE, parametrisierte Abfragen und Verbindungsverwaltung.

SQLite mit Pythons sqlite3-Modul ist eine kostenlose Learn AI with Python-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Learn AI with Python-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.

Warum Datenbanken für KI?

Flache Dateien funktionieren, bis Ihre Daten wachsen oder viele Teile eines Projekts auf dieselben Datensätze zugreifen müssen. Eine Datenbank bietet schnelle Abfragen, strukturierte Schemata und sicheren gleichzeitigen Zugriff.

SQLite ist eine dateibasierte Datenbank ohne Einrichtungsaufwand, die über das Modul sqlite3 in Python integriert ist — perfekt für KI-Experimente und kleine Projekte.

Mit sqlite3.connect verbinden

sqlite3.connect öffnet eine Datenbankdatei oder erstellt sie und gibt eine Verbindung zurück. Verwenden Sie :memory: für eine temporäre Datenbank im Arbeitsspeicher.

import sqlite3

conn = sqlite3.connect("ml.db")   # creates ml.db if missing
print(conn)

Cursor und cursor.execute

Sie führen SQL über einen Cursor aus, den Sie aus der Verbindung erhalten. cursor.execute(sql) sendet eine Anweisung an die Datenbank.

import sqlite3

conn = sqlite3.connect("ml.db")
cur = conn.cursor()
cur.execute("SELECT sqlite_version()")
print(cur.fetchone())

CREATE TABLE IF NOT EXISTS

Definieren Sie eine Tabelle mit einem Schema. IF NOT EXISTS sorgt dafür, dass die Anweisung sicher wiederholt ausgeführt werden kann — sie erzeugt keinen Fehler, wenn die Tabelle bereits vorhanden ist.

cur.execute("""
CREATE TABLE IF NOT EXISTS experiments (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    name TEXT NOT NULL,
    accuracy REAL,
    created_at TEXT
)
""")

INSERT mit Platzhaltern

Erstellen Sie SQL niemals mithilfe von String-Formatierung — das begünstigt SQL-Injection und führt bei Anführungszeichen zu Fehlern. Verwenden Sie ?-Platzhalter und übergeben Sie die Werte als Tupel.

cur.execute(
    "INSERT INTO experiments (name, accuracy, created_at) VALUES (?, ?, ?)",
    ("baseline", 0.82, "2026-05-29"),
)

Viele Zeilen mit executemany einfügen

executemany fügt eine Liste von Tupeln in einem effizienten Aufruf ein — deutlich schneller, als execute in einer Schleife aufzurufen.

rows = [
    ("rf", 0.88, "2026-05-29"),
    ("xgb", 0.91, "2026-05-29"),
]
cur.executemany(
    "INSERT INTO experiments (name, accuracy, created_at) VALUES (?, ?, ?)",
    rows,
)

conn.commit() speichert Änderungen

Schreibvorgänge finden innerhalb einer Transaktion statt und werden erst gespeichert, wenn Sie conn.commit() aufrufen. Dies zu vergessen ist der häufigste Anfängerfehler — beim Schließen verschwinden Ihre Daten stillschweigend.

conn.commit()   # persist all pending INSERT/UPDATE/DELETE

Mit fetchall und fetchone abfragen

Rufen Sie nach einem SELECT die Ergebnisse ab:

  • fetchone() — die nächste einzelne Zeile
  • fetchall() — alle verbleibenden Zeilen als Liste von Tupeln
  • Iterieren Sie bei großen Ergebnismengen direkt über den Cursor
cur.execute("SELECT name, accuracy FROM experiments")
for row in cur.fetchall():
    print(row)   # ("baseline", 0.82) ...

Filtern und sortieren

SQL übernimmt die aufwendige Arbeit: Filtern Sie mit WHERE, sortieren Sie mit ORDER BY und begrenzen Sie die Ergebnisse mit LIMIT. Verwenden Sie auch für Abfragewerte Platzhalter.

cur.execute(
    "SELECT name, accuracy FROM experiments WHERE accuracy > ? ORDER BY accuracy DESC LIMIT 3",
    (0.85,),
)
print(cur.fetchall())

Row Factory für den Zugriff über Namen

Standardmäßig sind Zeilen Tupel. Setzen Sie conn.row_factory = sqlite3.Row, um über Namen auf Spalten zuzugreifen — das ist deutlich lesbarer.

import sqlite3

conn = sqlite3.connect("ml.db")
conn.row_factory = sqlite3.Row
cur = conn.cursor()
cur.execute("SELECT * FROM experiments")
row = cur.fetchone()
print(row["name"], row["accuracy"])

Kontextmanager für Sicherheit

Wenn Sie with für die Verbindung verwenden, wird bei Erfolg automatisch ein Commit ausgeführt und bei einem Fehler ein Rollback. Zusammen mit closing ist so eine zuverlässige Bereinigung gewährleistet.

import sqlite3
from contextlib import closing

with closing(sqlite3.connect("ml.db")) as conn:
    with conn:   # auto commit/rollback
        conn.execute(
            "INSERT INTO experiments (name, accuracy) VALUES (?, ?)",
            ("svm", 0.79),
        )

Kurztest: Schreibvorgänge speichern

Sie haben mehrere INSERT-Anweisungen ausgeführt und anschließend die Verbindung geschlossen — beim nächsten Mal waren die Daten jedoch verschwunden.

Zusammenfassung: SQLite mit sqlite3

Sie können jetzt eine echte Datenbank aus Python heraus verwenden:

  • sqlite3.connect und einen cursor
  • CREATE TABLE IF NOT EXISTS für sichere Schemata
  • INSERT mit ?-Platzhaltern und executemany
  • conn.commit(), um Schreibvorgänge zu speichern
  • fetchone/fetchall, WHERE/ORDER BY/LIMIT
  • sqlite3.Row und Kontextmanager für übersichtlichen, sicheren Code

Als Nächstes verbinden Sie pandas und SQL.

Häufig gestellte Fragen

Ist die Lektion „SQLite mit Pythons sqlite3-Modul“ kostenlos?

Ja — der vollständige Text von „SQLite mit Pythons sqlite3-Modul“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Learn AI with Python-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „SQLite mit Pythons sqlite3-Modul“?

Datenbanken und Tabellen erstellen, INSERT/SELECT/UPDATE, parametrisierte Abfragen und Verbindungsverwaltung. Du übst Learn AI with Python mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Learn AI with Python zu starten?

Keine Vorkenntnisse erforderlich. Learn AI with Python auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.

Wie lange dauert die Lektion „SQLite mit Pythons sqlite3-Modul“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Learn AI with Python-Lektion Code schreiben und ausführen?

Ja. Jede Learn AI with Python-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. SQLite mit Pythons sqlite3-Modul
  2. Pandas- und SQL-Integration
  3. ML-Ergebnisse speichern und abfragen
  4. Einführung in Vektordatenbanken
← Zurück zu Learn AI with Python