|
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- import sqlite3
- from utils import print_table
-
- db = sqlite3.connect('ecole.sqlite3')
- cursor = db.cursor()
-
- cursor.execute("""CREATE TABLE IF NOT EXISTS eleves(
- ID_Eleve INTEGER PRIMARY KEY AUTOINCREMENT,
- Prenom TEXT,
- Nom TEXT,
- UNIQUE (Prenom, Nom));
- """)
- while True:
- choix = input("\nVeuillez choisir une action à réaliser [A]jouter, [L]ister, " \
- "[M]odifier, [S]upprimer, [Q]uitter : ")
-
- if choix == "":
- continue
-
- if choix[0] in 'lL':
- cursor.execute("""SELECT * FROM eleves ORDER BY ID_eleve;""")
- liste_eleves = cursor.fetchall()
- titres = ['Id', 'Prénom', 'Nom']
- liste_eleves.insert(0, titres)
- print_table(liste_eleves)
-
- if choix[0] in 'aA':
- prenom = input("\nVeuillez entrer un prenom : ").capitalize()
- nom = input("Veuillez entrer un nom : ").upper()
- if prenom=="" or nom=="":
- print('Vous devez renseigner le nom et le prénom')
- continue
- else:
- try:
- cursor.execute("""INSERT INTO eleves(prenom, nom)
- VALUES(?,?);""",
- (prenom, nom))
- db.commit()
- except sqlite3.IntegrityError:
- print(f"{prenom} {nom} existe déjà dans la base de données")
-
-
- if choix[0] in 'mM':
- id_eleve = input("Veuillez entrez l'identifiant de l'élève à modifier : ")
- cursor.execute("""SELECT prenom, nom FROM eleves WHERE ID_Eleve=?""", (id_eleve,))
- prenom, nom = cursor.fetchone()
- n_prenom = input(f"\nVeuillez entrer un prenom (actuellement {prenom}): ")
- n_nom = input(f"Veuillez entrer un nom (actuellement {nom}): ")
- if n_prenom:
- prenom = n_prenom
- if n_nom:
- nom = n_nom
- try:
- cursor.execute("""UPDATE eleves
- SET prenom=?,
- nom=?
- WHERE ID_Eleve=?;""",
- (prenom.capitalize(), nom.upper(), id_eleve))
- db.commit()
- except sqlite3.IntegrityError:
- print(f"{prenom} {nom} existe déjà dans la base de données")
-
- if choix[0] in 'sS':
- id_eleve = input("Veuillez entrez l'identifiant de l'élève à supprimer : ")
- cursor.execute("""SELECT prenom, nom FROM eleves WHERE ID_Eleve=?""", (id_eleve,))
- prenom, nom = cursor.fetchone()
- confirmation = input(f"Confirmez-vous la suppression de {prenom} {nom} ? [O/n] : ")
- if not confirmation=='n':
- cursor.execute("""DELETE FROM eleves WHERE ID_Eleve=?""",(id_eleve,))
- db.commit()
-
- if choix[0] in 'qQ':
- break
-
- print('Bye !')
- db.close()
|