Zum Hauptinhalt springen

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 Datei
  • cursor führt SQL aus
  • CREATE TABLE legt die Struktur an
  • commit speichert Änderungen
  • close schließ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

Mini-QuizWas speichert Aenderungen dauerhaft?

Tabelle steht! Als Nächstes: einfügen und lesen.