Zum Hauptinhalt springen

Mini-Projekt: Bibliothek mit SQLite

Anforderungen

  • DB + Tabelle buecher (id, titel, autor, verfuegbar)
  • Buch hinzufügen
  • alle anzeigen
  • optional: als ausgeliehen markieren (UPDATE)
  • Menü

Beispiellösung

Lösung anzeigen
import sqlite3

DB = "bibliothek.db"

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

def setup():
conn = connect()
cur = conn.cursor()
cur.execute(
"""
CREATE TABLE IF NOT EXISTS buecher (
id INTEGER PRIMARY KEY AUTOINCREMENT,
titel TEXT NOT NULL,
autor TEXT,
verfuegbar INTEGER DEFAULT 1
)
"""
)
conn.commit()
conn.close()

def add_buch(titel, autor):
conn = connect()
conn.execute(
"INSERT INTO buecher (titel, autor) VALUES (?, ?)",
(titel, autor),
)
conn.commit()
conn.close()

def liste():
conn = connect()
cur = conn.cursor()
cur.execute("SELECT id, titel, autor, verfuegbar FROM buecher")
for row in cur.fetchall():
status = "frei" if row[3] else "ausgeliehen"
print(f"{row[0]}: {row[1]} ({row[2]}) – {status}")
conn.close()

setup()
while True:
print("1) Neu 2) Liste 3) Ende")
w = input("> ").strip()
if w == "1":
add_buch(input("Titel: "), input("Autor: "))
elif w == "2":
liste()
elif w == "3":
break

Kapitel 35 geschafft!

Als Nächstes: Datenprojekte – vom Datensatz zum Ergebnis.