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ée une base de données locale nommée
- 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.
- Colonne
- 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()
etconn.close()
libèrent les ressources.
- Importation du module