SQLite en Python : Guide complet pour débutants

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Travailler avec SQLite en Python : guide complet pour débutants et développeurs expérimentés

La gestion des bases de données est une compétence essentielle dans le développement d'applications. Si vous avez besoin d'une solution légère et intégrée, sans installer de serveur dédié, SQLite est le choix idéal.

Avec Python, grâce au module standard sqlite3, vous pouvez créer, modifier et gérer des bases de données directement depuis votre code. Dans cet article, vous apprendrez à vous connecter à SQLite, à effectuer des opérations d'insertion (INSERT), de mise à jour (UPDATE) et bien plus encore.

Qu'est-ce que SQLite et pourquoi le choisir ?

SQLite est une base de données relationnelle embarquée qui stocke toutes les informations dans un seul fichier. Elle ne nécessite aucun serveur et est parfaite pour le prototypage, les petits projets et les applications mobiles.

SQLite est largement utilisé dans divers domaines du développement logiciel. De nombreuses applications populaires, y compris les navigateurs, les messageries et les applications mobiles, utilisent SQLite pour le stockage local des données.

Avantages de SQLite

  • Aucune installation de serveur requise
  • Haute vitesse d'exécution
  • Simplicité d'utilisation
  • Excellente intégration avec Python via le module sqlite3
  • Multiplateforme et portable
  • Prise en charge des transactions ACID
  • Consommation minimale de ressources

Limites de SQLite

  • Ne prend pas en charge les écritures simultanées de plusieurs utilisateurs
  • Performances limitées avec de très gros volumes de données
  • Absence de réplication intégrée
  • Capacités limitées pour les applications multi-utilisateurs complexes

Connexion à une base de données SQLite en Python

Connexion de base

import sqlite3

# Connexion à la base de données (si le fichier n'existe pas, il sera créé)
conn = sqlite3.connect('ma_base.db')

# Création d'un curseur pour exécuter les requêtes SQL
cursor = conn.cursor()

Connexion à une base de données en mémoire

Pour le stockage temporaire ou les tests, vous pouvez utiliser une base de données en mémoire :

conn = sqlite3.connect(':memory:')

Configuration des paramètres de connexion

conn = sqlite3.connect('ma_base.db', timeout=10)
conn.execute('PRAGMA foreign_keys = ON')  # Activation des clés étrangères

Création d'une table dans SQLite

Création d'une table simple

cursor.execute('''
    CREATE TABLE IF NOT EXISTS utilisateurs (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        nom TEXT NOT NULL,
        age INTEGER
    )
''')
conn.commit()

Création d'une table avec contraintes supplémentaires

cursor.execute('''
    CREATE TABLE IF NOT EXISTS produits (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        nom TEXT NOT NULL UNIQUE,
        prix REAL CHECK(prix > 0),
        categorie TEXT DEFAULT 'non classé',
        date_creation TIMESTAMP DEFAULT CURRENT_TIMESTAMP
    )
''')
conn.commit()

Création d'index pour l'optimisation

cursor.execute('''
    CREATE INDEX IF NOT EXISTS idx_utilisateurs_nom ON utilisateurs(nom)
''')
conn.commit()

Insertion de données dans une table — python sqlite3 insert

Insertion d'un seul enregistrement

L'une des opérations les plus courantes est l'insertion de données dans une table SQLite :

cursor.execute('''
    INSERT INTO utilisateurs (nom, age) VALUES (?, ?)
''', ('Jean', 30))
conn.commit()

L'utilisation des points d'interrogation protège contre les injections SQL et est l'approche recommandée.

Insertion en masse de données

utilisateurs = [('Alex                

Blogs

Book Recommendations