Télécharger - informatique en CPGE

 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