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.