Skip to main content

Gegevens opslaan

Tot nu toe verdwijnt alle data als je programma stopt. Met sqlitedict kun je data permanent opslaan.

Installatie

pip install sqlitedict

Data opslaan

Maak test_db.py:

from sqlitedict import SqliteDict

with SqliteDict("mijn_data.db") as db:
db["naam"] = "Jan"
db["leeftijd"] = 16
db.commit()

print("Data opgeslagen!")

Run: python test_db.py — Er wordt een bestand mijn_data.db aangemaakt.

Data uitlezen

from sqlitedict import SqliteDict

with SqliteDict("mijn_data.db") as db:
print(db["naam"]) # Jan
print(db["leeftijd"]) # 16

De data is er nog, zelfs na herstarten!

Overzicht commando's

with SqliteDict("data.db") as db:
db["key"] = "waarde" # Opslaan
waarde = db["key"] # Uitlezen
del db["key"] # Verwijderen
db.commit() # Wijzigingen opslaan (NIET vergeten!)

for k, v in db.items(): # Alles bekijken
print(k, v)

if "key" in db: # Checken of iets bestaat
print("Bestaat!")

Opdrachten

Opdracht 1: Predict - Wat gebeurt er?

with SqliteDict("test.db") as db:
db["score"] = 100
db.commit()

with SqliteDict("test.db") as db:
print(db["score"])

Vraag: Wat print dit?

Antwoord

100 — De data blijft bewaard in het bestand.

Opdracht 2: Run - Eerste database

Maak een programma dat een contact opslaat (naam + telefoonnummer) en het weer uitleest.

Opdracht 3: Investigate - Commit vergeten

Wat gebeurt er als je db.commit() vergeet? Probeer het uit!

Antwoord

De data wordt niet opgeslagen. Na herstarten is het weg.