Zum Hauptinhalt springen

Meilenstein 2: Datenbank-App

Anforderungen

  • SQLite-Datei
  • CREATE TABLE
  • INSERT
  • SELECT Liste
  • UPDATE oder DELETE
  • Menü-Schleife
  • Platzhalter ?
  • kurze Doku

Beispiellösung (Mitglieder)

Lösung anzeigen
import sqlite3

DB = "verein.db"

def db():
return sqlite3.connect(DB)

def setup():
conn = db()
conn.execute(
"""
CREATE TABLE IF NOT EXISTS mitglieder (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
punkte INTEGER DEFAULT 0
)
"""
)
conn.commit()
conn.close()

def add(name):
conn = db()
conn.execute("INSERT INTO mitglieder (name) VALUES (?)", (name,))
conn.commit()
conn.close()

def liste():
conn = db()
for row in conn.execute("SELECT id, name, punkte FROM mitglieder"):
print(row)
conn.close()

def set_punkte(mid, punkte):
conn = db()
conn.execute("UPDATE mitglieder SET punkte = ? WHERE id = ?", (punkte, mid))
conn.commit()
conn.close()

setup()
while True:
print("1 add 2 liste 3 punkte 4 ende")
w = input("> ").strip()
if w == "1":
add(input("Name: ").strip().title())
elif w == "2":
liste()
elif w == "3":
set_punkte(int(input("id: ")), int(input("punkte: ")))
elif w == "4":
break

Band 6 Abschluss

Du kannst jetzt:

  • Tupel, Mengen, Comprehensions, Sortieren
  • Such- und Sortier-Ideen
  • CSV lesen/schreiben
  • SQLite-Grundlagen
  • Datenprojekte von der Frage bis zum Report

Als Nächstes (Band 7+): Anwendungen, APIs, sauberer Code – wenn du willst.