Zum Hauptinhalt springen

Daten einfügen und lesen

Einfügen

import sqlite3

conn = sqlite3.connect("schule.db")
cur = conn.cursor()
cur.execute("INSERT INTO schueler (name, punkte) VALUES (?, ?)", ("Luna", 12))
cur.execute("INSERT INTO schueler (name, punkte) VALUES (?, ?)", ("Lily", 15))
conn.commit()

? sind Platzhalter – sicherer als Text zusammenkleben (Schutz vor SQL-Injection, gute Gewohnheit).

Lesen

cur.execute("SELECT id, name, punkte FROM schueler")
for row in cur.fetchall():
print(row)
conn.close()

Rate mal!

Was ist row oft?

Auflösung

Ein Tupel mit den Spaltenwerten.

Probiere es selbst

Experiment 1

Zwei Zeilen insert.

Experiment 2

SELECT alle.

Experiment 3

WHERE punkte groesser-gleich 10 (SQL: >=).

Übungen

Level 1

Ein INSERT.

Level 2

SELECT und print.

Level 3

Name per input einfügen.

Level-2-Lösung
import sqlite3
conn = sqlite3.connect("schule.db")
cur = conn.cursor()
cur.execute("SELECT name, punkte FROM schueler")
print(cur.fetchall())
conn.close()

Mini-Quiz

Mini-QuizWofuer sind ? Platzhalter gut?

CRUD startet! Als Nächstes: ändern und löschen.