le module SQLITE de PYTHON 1.Introduction Dans ce cours nous allons traiter des différentes manières d'agir sur des bases de données avec Python. Il existe de nombreux logiciels de gestion de bases de données relationnelle sur le marché commepostgresql, mysql, sqlite ... une base de données relationnelle se gère via du SQL, le langage de requête de bases de données. Nous allons donc dans ce cours étudier cette gestion de bases de données, mais au lieu d'utiliser des SGBD (système de gestion de bases de données), nous allons préférer gérer les bases via Python. 20/11/2014 CPGE DAKHLA 42 2.les méthodes qui nous allons utilisé dans ce cours connect() Pour se connecter à une base de données cursor() Des curseurs sont utilisés pour les interactions avec la base: émission de requêtes SQL la méthode execute() qui permet l’évaluation d’une requête SQL La méthode executemany() permet l'exécution de valeurs retardées fetchone() et fetchall() permettent de récupérer respectivement une valeur ou toutes les valeurs. close() ferme une connexion. commit() valide une transaction avec la base. rollback() annule une transaction avec la base. Cette méthode annule toutes les modifications apportées à la base de données depuis le dernier appel à commit (). 20/11/2014 CPGE DAKHLA 43 Exemple Nous allons Crée une base de donnée sqlite nommé NOTES.db dans le dossier Sqlite, dans cette base créer une table " Eleve " ayant pour champs : Id de type INTEGER (clef primaire) Nom de type TEXT Prénom de type Txt dateNaissance de type datetime Classe type TEXT Note typte real 1.Se connecter à la base de données 20/11/2014 CPGE DAKHLA 44 Suite Exemple 2.Créer des tables Maintenant que la base est créée, il faut en construire l'ossature, c'est-à-dire les tables. Chaque table doit correspondre à une entité réel, par exemple la table 'élèves' correspond à toutes les infirmations nécessaires à la définition d'un élève. Lorqu'une table est défini, on définit en même temps le type et le nom de chaque champs, c'està-dire on définit chaque élément décrivant l'entité. Par exemple, lors de la création de la table élève, il faudra définir le champs 'nom' avec son type. 20/11/2014 CPGE DAKHLA 45 Suite Exemple la fonction 'commit' permet de 'lancer' la commande, c'est-à-dire que le commit permet de créer véritablement la table 'eleve' et de la sauvegarder dans 'Notes.db'. Attention à ne jamais oublier de 'commit' vos commandes car sinon rien ne se passera. 3.Insérer des données dans la table Chaque ajout de données passera par le mot clef SQL "INSERT INTO" suivi du nom de la table dans laquelle vous voulez ajouter des données. Suit alors le mot clef "VALUES" suivi des valeurs à ajouter en vérifiant que le type est le bon. 20/11/2014 CPGE DAKHLA 46 4.Accéder aux données Suite Exemple Parce que oui, des données ont été ajoutées mais quelles sont-elles déjà ? Pour selectionner des données, il faut utiliser la commande SQL "SELECT" (1, 'NAHIM', 'HIBA', '195-10-920', 10.0, 'bcpst') NAHIM 20/11/2014 CPGE DAKHLA 47 L'eleve n 1 s'appelle : HIBA NAHIM de la classe bcpst L'eleve n 2 s'appelle : TOUITOU HABADI de la classe pcsi L'eleve n 3 s'appelle : IKRAM RIBAT de la classe psi L'eleve n 4 s'appelle : ZOUHAIR ALLALI de la classe bcpst 20/11/2014 (1, 'NAHIM', 'HIBA', '195-10-920', 10.0, 'bcpst') (2, 'HABADI', 'TOUITOU', '1996-05-16', 8.0, 'pcsi') (3, 'RIBAT', 'IKRAM', '1994-11-11', 9.0, 'psi') (4, 'ALLALI', 'ZOUHAIR', '1996-06-19', 13.0, 'bcpst') CPGE DAKHLA 48 Suite Exemple (1, 'NAHIM', 'HIBA', '195-10-920', 10.0, 'bcpst') (4, 'ALLALI', 'ZOUHAIR', '1996-06-19', 13.0, 'bcpst') nombre des eleves est (4,) 20/11/2014 CPGE DAKHLA 49 Suite Exemple la classe bcpst : 11.5 la classe pcsi : 8.0 la classe psi : 9.0 20/11/2014 la classe bcpst : 13.0 la classe pcsi : 8.0 la classe psi : 9.0 CPGE DAKHLA 50 Suite Exemple Attention : n'oubliez pas que vous ouvrez une connection avec un fichier, il est donc indispensable de fermer cette connection à la fin. 5.Fermer la connection 20/11/2014 CPGE DAKHLA 51
© Copyright 2024 Paperzz