Se connecter à une base SQLite

Fonctions :

  • sqlite3.connect()

    Permet d’établir une connexion à une base de données SQLite à l’aide du module sqlite3. SQLite est un moteur de base de données léger qui stocke les données dans un fichier local, sans nécessiter de serveur externe.

    Importation :

    import sqlite3

    Attributs :

    Paramètre Type Description Valeur par défaut
    database str Chemin du fichier SQLite (.db). Si le fichier n’existe pas, SQLite le crée automatiquement. None

    Exemple de code :

    import sqlite3  # Importation du module pour interagir avec SQLite
    
    # Connexion à la base de données SQLite (création du fichier si inexistant)
    conn = sqlite3.connect("ma_base.db")
    
    # Création d’un curseur pour exécuter des requêtes SQL
    cursor = conn.cursor()
    
    # Création d'une table exemple si elle n'existe pas déjà
    cursor.execute("""
        CREATE TABLE IF NOT EXISTS utilisateurs (
            id INTEGER PRIMARY KEY AUTOINCREMENT,
            nom TEXT NOT NULL,
            age INTEGER NOT NULL
        )
    """)
    
    # Insertion d’un utilisateur dans la table
    cursor.execute("INSERT INTO utilisateurs (nom, age) VALUES (?, ?)", ("Alice", 30))
    
    # Validation des changements
    conn.commit()
    
    # Sélection des utilisateurs de la table
    cursor.execute("SELECT * FROM utilisateurs")
    
    # Récupération et affichage des résultats
    for utilisateur in cursor.fetchall():
        print(utilisateur)
    
    # Fermeture du curseur et de la connexion
    cursor.close()
    conn.close()

    Explication du code :

    • Importation du module sqlite3 : Permet de travailler avec SQLite en Python.
    • Connexion avec sqlite3.connect("ma_base.db") :
      • Crée une base de données locale nommée "ma_base.db" si elle n’existe pas déjà.
      • Renvoie un objet conn qui permet d'exécuter des requêtes SQL.
    • Création d’un curseur avec conn.cursor() :
      • Permet d’envoyer des commandes SQL.
    • Création d’une table utilisateurs si elle n’existe pas (CREATE TABLE IF NOT EXISTS) :
      • Colonne id : clé primaire auto-incrémentée.
      • Colonne nom : texte obligatoire.
      • Colonne age : entier obligatoire.
    • Insertion d’un utilisateur (INSERT INTO) :
      • ? sont des paramètres pour éviter les injections SQL.
      • La méthode execute permet de passer les valeurs sous forme de tuple.
    • Validation avec conn.commit() :
      • Enregistre les modifications dans la base de données.
    • Exécution d’une requête de sélection (SELECT * FROM utilisateurs) :
      • Récupère tous les utilisateurs de la table.
    • Récupération et affichage des résultats (cursor.fetchall()) :
      • Affiche chaque ligne de la table sous forme de tuple.
    • Fermeture du curseur et de la connexion :
      • cursor.close() et conn.close() libèrent les ressources.