43 lines
1.4 KiB
Python
43 lines
1.4 KiB
Python
import sqlite3
|
|
from contextlib import contextmanager
|
|
|
|
@contextmanager
|
|
def get_db():
|
|
conn = sqlite3.connect('shop.db')
|
|
try:
|
|
yield conn
|
|
finally:
|
|
conn.close()
|
|
|
|
def init_db():
|
|
with get_db() as conn:
|
|
# Tabelle erstellen
|
|
conn.execute("""
|
|
CREATE TABLE IF NOT EXISTS products (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
name TEXT NOT NULL,
|
|
description TEXT,
|
|
price REAL NOT NULL,
|
|
stock INTEGER NOT NULL
|
|
)
|
|
""")
|
|
|
|
# Beispieldaten einfügen
|
|
products = [
|
|
("Laptop", "Leistungsstarker Laptop für Arbeit und Gaming", 999.99, 5),
|
|
("Smartphone", "Neuestes Modell mit Top-Kamera", 699.99, 10),
|
|
("Kopfhörer", "Kabellose Kopfhörer mit Noise-Cancelling", 199.99, 15),
|
|
("Tablet", "Perfekt für Unterhaltung und Produktivität", 449.99, 8),
|
|
("Smartwatch", "Fitness-Tracking und Benachrichtigungen", 299.99, 12)
|
|
]
|
|
|
|
conn.execute("DELETE FROM products") # Alte Daten löschen
|
|
conn.executemany(
|
|
"INSERT INTO products (name, description, price, stock) VALUES (?, ?, ?, ?)",
|
|
products
|
|
)
|
|
conn.commit()
|
|
|
|
if __name__ == "__main__":
|
|
init_db()
|
|
print("Datenbank wurde erfolgreich initialisiert!") |