Licence CC BY-NC-SA

Des bases de données en Python avec sqlite3

Comment stocker pour mieux régner

Dans le joyeux monde de la programmation, il est souvent nécessaire de stocker des informations.

À petite comme à grande échelle, les Bases De Données (BDD) s’imposent comme une forme efficace de stockage. Il est alors plutôt aisé d’interagir avec celles-ci en utilisant un Système de Gestion de Base de Données (SGBD), un logiciel spécialement conçu pour les gérer et les manipuler à l’aide d’un langage normalisé tel que le Structured Query Language (SQL).

Parmi les SGBD, nous pouvons trouver SQLite qui utilise un sous-ensemble de SQL. Sa légèreté et le fait que les données se trouvent sur le terminal du client et non sur un serveur distant, en font un outil apprécié pour des applications personnelles ou encore dans l’embarqué. Toutefois, il est relativement lent. SQLite fait partie de la famille des SGBD dits « Relationnelles », car les données sont alors placées dans des tables et traitées comme des ensembles.

En Python, le module sqlite3 permet de travailler avec ce moteur, mais ne supporte pas le multi-thread.

À travers ce tutoriel, nous allons donc apprendre à utiliser ce dernier tout en pratiquant.

Ce tutoriel, n’est ni une introduction aux BDD ni une introduction au langage SQL. Il est donc recommandé de vous référer à ce tutoriel pour vous familiariser avec ces concepts. De plus, des bases en Python, que vous pouvez acquérir avec ce tutoriel par exemple, sont nécessaires pour être à l’aise.

Pour ce tutoriel, j’utiliserai la version 3.12 de Python. Il est possible qu’il y ait quelques petites différences concernant le module selon votre version de Python, c’est pourquoi il faut que vous choisissiez la documentation adaptée à votre version.

Prérequis
Bases en programmation et connaissances en Python
Connaissances en BDD et en SQL

Objectifs
Faire découvrir le module sqlite3

Vous êtes prêt ? Alors, en route ! :magicien:

Fonctionnalités de base

  1. Se connecter et se déconnecter
  2. Exécuter des requêtes
  3. Parcourir des enregistrements
  4. Récupérer quelques informations
  5. Utiliser des clefs étrangères


Au cours de ce tutoriel, nous avons appris à utiliser sqlite3. Comme vous avez pu le constater, c’est un outil à la fois puissant et flexible.

Ce tutoriel n’est pas terminé. Une seconde partie, portant sur des fonctionnalités plus avancées (gestion des erreurs ou encore utilisation de ses propres types et de ses propres fonctions) devrait venir le compléter.

Si vous souhaitez en apprendre plus ou renforcer vos connaissances, vous pouvez vous référer aux liens suivants (liste non exhaustive) :

Enfin, il est possible que vous recherchiez des alternatives à SQLite pour diverses raisons (si vous voulez stocker vos données sur un serveur distant par exemple). Dans ce cas là, vous pouvez poursuivre avec un autre SGBDR tel que MySQL et il vous sera assez facile de porter votre code. D’autre part, vous pouvez aussi vouloir vous tourner vers d’autres types de SGBD, notamment ceux dits NoSQL tel que MongoDB (utilisable en Python avec la distribution PyMongo), ou encore vers d’autres formats (xml, json, etc.).

Comme vous le savez, votre choix dépendra de vos besoins.

À bientôt ! :)

Merci notamment à Aabu, germinolegrand et nohar pour leurs retours.
Merci à artragis pour la validation.

3 commentaires

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte