SQLite verbinden und Tabelle erstellen
Beispiel
import sqlite3
conn = sqlite3.connect("schule.db")
cur = conn.cursor()
cur.execute(
"""
CREATE TABLE IF NOT EXISTS schueler (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
punkte INTEGER
)
"""
)
conn.commit()
conn.close()
print("Tabelle bereit.")
connectöffnet/erstellt die Dateicursorführt SQL ausCREATE TABLElegt die Struktur ancommitspeichert Änderungencloseschließt
SQL kurz
SQL ist die Sprache der Datenbank. Großschreibung der Schlüsselwörter ist üblich, nicht Pflicht.
Rate mal!
Was macht IF NOT EXISTS?
Auflösung
Erzeugt die Tabelle nur, wenn sie noch nicht da ist – kein Fehler beim zweiten Lauf.
Probiere es selbst
Experiment 1
DB-Datei erzeugen.
Experiment 2
Zweite Tabelle buecher skizzieren.
Experiment 3
Programm zweimal starten (IF NOT EXISTS).
Fehlerdetektiv
conn.close() vergessen – Datei kann gesperrt wirken. Immer schließen oder with nutzen (je nach Stil).
Übungen
Level 1
connect + close.
Level 2
CREATE TABLE spieler.
Level 3
Zwei Tabellen in einer DB.
Level-2-Lösung
import sqlite3
conn = sqlite3.connect("game.db")
cur = conn.cursor()
cur.execute(
"CREATE TABLE IF NOT EXISTS spieler (id INTEGER PRIMARY KEY, name TEXT, score INTEGER)"
)
conn.commit()
conn.close()
Mini-Quiz
Tabelle steht! Als Nächstes: einfügen und lesen.