Élargissez vos compétences SQLite dans 17 laboratoires guidés consacrés aux requêtes enrichies, à l’intégrité, l’automatisation, la recherche spécialisée, l’analyse, la sauvegarde, le réglage et la maintenance. Chaque laboratoire utilise une petite base locale pour exécuter le SQL ou les commandes CLI et examiner le schéma, les lignes, le plan ou l’état obtenu.
Le cours couvre de nombreux sujets intermédiaires et avancés tout en conservant un format pas à pas. Vous passerez des contraintes et index aux jointures, sous-requêtes, transactions, déclencheurs, vues, FTS5, CTE, fonctions de fenêtre et commandes opérationnelles sans concevoir une grande application unique.
Ce que vous apprendrez
- Garantir l’intégrité avec clés étrangères, contraintes
CHECK, clés composites et actionsON CONFLICT - Créer et supprimer des index, examiner
EXPLAIN QUERY PLAN, reconstruire des index, exécuterANALYZEet récupérer l’espace avecVACUUM - Combiner et résumer les données avec jointures internes et gauches, jointures multiples, agrégats,
GROUP BY,HAVINGet sous-requêtes corrélées - Contrôler les changements avec
BEGIN,COMMIT,ROLLBACK, savepoints et contraintes rejetant les soldes invalides - Automatiser les journaux d’audit par déclencheurs et créer des vues simples, jointes, agrégées et modifiables grâce à des déclencheurs
- Créer des tables virtuelles FTS5 et utiliser
MATCH, les préfixes, les colonnes et les opérateurs booléens - Stocker JSON comme texte et exposer une fonction SQL Python
json_extractpersonnalisée pour extraire, filtrer et mettre à jour - Exporter et restaurer des dumps SQL, configurer les PRAGMA, utiliser des tables temporaires, écrire des CTE simples et récursives et calculer rangs et cumuls avec des fenêtres
À qui s’adresse ce cours
Ce cours s’adresse aux développeurs, analystes et apprenants en bases de données qui savent déjà créer des bases et tables SQLite et écrire des SELECT, INSERT, UPDATE et DELETE simples. Il permet de découvrir de nombreuses fonctions propres à SQLite avant de les intégrer à un projet plus vaste.
Prérequis : Des bases en CLI SQLite et SQL sont recommandées : création de tables, clés primaires, filtrage simple et CRUD. Quelques notions de Python aident pour le laboratoire JSON mais ne sont pas nécessaires ailleurs.
Environnement d’apprentissage : Les 17 laboratoires guidés, tous classés débutants, s’exécutent dans une VM de bureau Ubuntu 22.04, principalement avec sqlite3. Ils totalisent 84 étapes et 101 vérifications automatiques ; le laboratoire JSON crée aussi un script Python avec les modules standard sqlite3 et json.
Questions fréquentes
Quel est réellement le niveau avancé du cours ?
Les sujets dépassent le SQL élémentaire avec CTE récursives, fenêtres, FTS5, déclencheurs et plans. Toutefois, les 17 laboratoires sont classés débutants et donnent des commandes pas à pas sur de petites bases ; l’accent porte donc sur la découverte guidée plutôt que l’ingénierie autonome.
Le laboratoire JSON utilise-t-il les fonctions JSON natives de SQLite ?
Non. Il stocke JSON sous forme de texte, définit en Python une fonction json_extract et l’enregistre sur une connexion SQLite Python. Cela diffère de l’utilisation des opérateurs ou fonctions JSON intégrés à SQLite.
Quel type de sauvegarde est réalisé ?
Le laboratoire utilise .dump dans la CLI pour créer un dump SQL textuel et le restaure en envoyant ce SQL à une nouvelle base. Il ne couvre ni l’API de sauvegarde en ligne, ni la copie binaire sûre, ni les sauvegardes planifiées ou la restauration temporelle.
Le cours prépare-t-il au réglage d’une base de production ?
Il introduit index, plans, mode journal, clés étrangères, cache, contrôles d’intégrité, ANALYZE et VACUUM. Il ne mesure pas de charges réelles et ne couvre pas les écritures concurrentes, connexions applicatives, tests de panne ou la supervision de production.


