import sqlite3

# on établit une connexion
conn = sqlite3.connect('gestion.db')

# on créée une base de données
cursor = conn.cursor()

cursor.execute("""
CREATE TABLE IF NOT EXISTS restaurants (id INTEGER PRIMARY KEY AUTOINCREMENT UNIQUE,
     nom TEXT,
     ville TEXT)
""")

# insérer une instance
cursor.execute("""
INSERT INTO restaurants(nom, ville) VALUES(?, ?)""", ("Chez Momo", "Marseille"))

# insérer une instance à partir d'un dictionnaire

dico = {"nom" : "Chez Fanny", "ville" : "Marseille"}
cursor.execute("""
INSERT INTO restaurants(nom, ville) VALUES(:nom, :ville)""", dico)

# insérer plusieurs instances à l'aide d'une liste

liste = []
liste.append(("Le cochon vert","Paris"))
liste.append(("Le gazon maudit","Paris"))
cursor.executemany("""
INSERT INTO restaurants(nom, ville) VALUES(?, ?)""", liste)

# afficher toutes les instances
print('Toutes les instances :')
cursor.execute("""SELECT id, nom, ville FROM restaurants""")
for row in cursor:
    print('{0} : {1}, {2}'.format(row[0], row[1], row[2]))


# afficher les instances selon la valeur d'un attribut
ville = "Marseille"
print("\n\nUniquement à ",ville,":")
for row in cursor.execute("""SELECT id, nom FROM restaurants WHERE ville=?""", (ville,)):
    print(row)

conn.close() # on clot la connexion à la base de données