SQLite en Python : guide complet pour débutants et experts

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

Les bases de SQLite en Python

La gestion des bases de données est un aspect essentiel de presque toute application moderne. Cependant, il n'est pas toujours nécessaire d'utiliser des systèmes de gestion de bases de données complexes et gourmands en ressources, comme MySQL ou PostgreSQL. Pour les petits projets, le prototypage ou le développement d'applications locales, SQLite, intégré à Python, est un excellent choix.

Dans ce guide, nous allons explorer en détail les principes de fonctionnement de SQLite en Python. Vous apprendrez à effectuer les opérations de base avec une base de données. Nous verrons également des exemples pratiques d'utilisation de la commande UPDATE dans SQLite avec Python.

Qu'est-ce que SQLite et quels sont ses avantages ?

SQLite est une base de données relationnelle légère et intégrée. Elle ne nécessite pas de serveur séparé pour fonctionner. La base de données SQLite est stockée directement dans un seul fichier sur le disque de l'ordinateur.

Principaux avantages de SQLite :

  • Intégrée à la bibliothèque standard de Python via le module sqlite3
  • Ne nécessite ni installation ni configuration de serveur séparé
  • Idéale pour les applications locales et les solutions mobiles
  • Simplicité d'utilisation et rapidité d'exécution sur de petits volumes de données
  • Prend en charge les requêtes SQL standard
  • Multiplateforme et portable
  • Fiabilité et stabilité

Connexion à une base de données SQLite

Pour travailler avec SQLite, on utilise le module standard sqlite3. Aucune installation supplémentaire n'est nécessaire, car il est déjà inclus dans la distribution standard de Python.

import sqlite3

# Création ou connexion à une base de données
conn = sqlite3.connect('example.db')

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

L'exécution de ce code crée le fichier de base de données example.db dans le répertoire courant. Si le fichier existe déjà, une connexion à la base de données existante est établie.

Création de la structure de la base de données

Création de tables

La création d'une table dans SQLite se fait avec la commande CREATE TABLE. Voici un exemple de création d'une table pour stocker des informations sur les utilisateurs :

cursor.execute('''
    CREATE TABLE IF NOT EXISTS users (
        id INTEGER PRIMARY KEY AUTOINCREMENT,
        name TEXT NOT NULL,
        age INTEGER,
        email TEXT UNIQUE
    )
''')

conn.commit()

Dans cet exemple, une table users est créée avec quatre colonnes :

  • id — identifiant unique avec auto-incrémentation
  • name — nom de l'utilisateur (champ obligatoire)
  • age — âge de l'utilisateur
  • email — adresse e-mail (valeur unique)

Création d'index pour l'optimisation

Pour améliorer les performances des requêtes, vous pouvez créer des index :

cursor.execute('''
    CREATE INDEX IF NOT EXISTS idx_users_email ON users(email)
''')

cursor.execute('''
    CREATE INDEX IF NOT EXISTS idx_users_age ON users(age)
''')

conn.commit()

Opérations sur les données

Ajout de données dans une table

L'insertion d'un seul enregistrement dans une table se fait avec la commande INSERT :

cursor.execute('''
    INSERT INTO users (name, age, email) 
    VALUES (?, ?, ?)
''', ('Alice', 30, 'alice@example.com'))

conn.commit()

Ajout de données en masse

Pour ajouter plusieurs enregistrements à la fois, on utilise la méthode executemany :

users_data = [
    ('Bob', 25, 'bob@example.com'),
    ('Charlie', 35, 'charlie@example.com'),
    ('Diana', 28, 'diana@example.com'),
    ('Eve', 32, 'eve@example.com')
]

cursor.executemany('''
    INSERT INTO users (name, age, email) 
    VALUES (?, ?, ?)
''', users_data)

conn.com                

Blogs

Book Recommendations