Sqlite
Posted on jeu. 07 décembre 2023 in applications
Liens
Introduction à SQLite
SQLite est une base de données relationnelle légère et rapide, utilisée pour stocker des données localement. C'est une solution de stockage de données de petite taille, rapide et facile d'utilisation.
Installer SQLite
Télécharger et installer SQLite depuis le site https://www.sqlite.org/.
Pour Archlinux (dans le dépot core)
$sudo pacman -S sqlite3
Créer une base de données
Création d'une base de donnée, ouvrez un terminal ou une fenêtre de commandes et exécutez la commande suivante :
$sqlite3 mabase.db
SQLite version 3.44.2 2023-11-24 11:41:44
Enter ".help" for usage hints.
sqlite> .database
main: /home/phil/mabase.db r/w
sqlite> .quit
Créer une table dans la base de données
Ensuite, vous pouvez créer des tables dans votre base de données en utilisant la syntaxe SQL. La création d'une table se fait avec la commande CREATE TABLE, suivie du nom de la table et des colonnes que vous souhaitez inclure. Voici un exemple de code pour créer une table nommée humain avec deux colonnes, nom et age :
$sqlite3 mabase.db
SQLite version 3.44.2 2023-11-24 11:41:44
Enter ".help" for usage hints.
sqlite> CREATE TABLE humain (nom TEXT NOT NULL, age INTEGER NOT NULL);
Insérer des données dans une tables
Après avoir créé une table, vous pouvez insérer des données en utilisant la commande INSERT INTO. Exemple d'insertion de données dans la table humain :
sqlite> INSERT INTO humain (nom, age) VALUES ('Pierre', 30);
sqlite> INSERT INTO humain (nom, age) VALUES ('Jeanne', 25);
sqlite> INSERT INTO humain (nom, age) VALUES ('Alfred', 65);
Consulter les données
Vous pouvez consulter vos données en utilisant la commande SELECT suivie du nom de la table que vous souhaitez interroger. Exemple, pour afficher toutes les rangées de la table humain, vous pouvez utiliser la commande suivante :
sqlite> SELECT * FROM humain;
affichera :
Pierre|30
Jeanne|25
Alfred|65
Autres exemples de commandes SQL pour interroger vos données :
sqlite> SELECT nom, age FROM humain;
Affichera seulement les columns "nom" et "âge" de la table humain.
sqlite> SELECT * FROM humain WHERE age > 30;
Affichera les lignes de la table humain où la valeur de la colonne age est supérieure à 30.
Alfred|65
sqlite> SELECT COUNT(*) FROM humain;
Affichera le nombre total de ligne de la table humain.
3
Mettre à jour et supprimer des données.
Vous pouvez mettre à jour et supprimer des données en utilisant respectivement les commandes UPDATE et DELETE. Exemples de ces commandes :
sqlite> UPDATE humain SET age = 35 WHERE nom = 'Pierre';
sqlite> DELETE FROM personnes WHERE nom = 'Jeanne';
Quitter
sqlite> .quit
Sauvegarder la base de données
$sqlite3 mabase.db .dump > mabaseDB.sql
contenu de mabaseDB.sql
$cat mabaseDB.sql
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE humain (nom text not null, age integer not null);
INSERT INTO humain VALUES('Pierre',30);
INSERT INTO humain VALUES('Jeanne',25);
INSERT INTO humain VALUES('Alfred',65);
COMMIT;
SQLite avec Python
Installation de SQLite
Pour utiliser SQLite avec Python, vous devez tout d'abord installer le module Python SQLite. \
Pour Archlinux (dans le dépot extra)
$sudo pacman -S python-aiosqlite
Vous pouvez faire cela en utilisant pip, le gestionnaire de paquets Python.
Connexion à la base de données
Une fois que vous avez installé SQLite, vous pouvez connecter votre application à une base de données SQLite.
import sqlite3
...
conn = sqlite3.connection('mabase.db')
Interrogation de la base de données
Maintenant que vous êtes connecté à la base de données, vous pouvez extrair des données en utilisant des requêtes SQL.
Pour cela, vous pouvez utiliser cursor() méthode pourcreer un curseur sur la base de données. Puis, vous pouvez utiliser execute() méthode pour poser une question SQL au curseur. Enfin, vous pouvez utiliser fetchall() méthode pour récupérer le résultat de la requéte.
Par exemple, pour récupérer tous les enregistrements de la table humain:
cur = conn.cursor()
cur.execute("SELECT * FROM humain")
resultats = cur.fetchall()
print(resultats)
Modification de la base de données
En plus d'interroger la base de données, vous pouvez également la modifier en utilisant SQLite avec Python. Pour cela, vous pouvez utiliser clés INSERT, UPDATE et DELETE pour ajouter, modifier et supprimer des enregistrements dans la table humain de la base de données.
Par exemple, pour ajouter un nouvel enregistrement:
cur.execute("INSERT INTO humain (Nom, Age) VALUES (?, ?)", ("Sabine", 58))
conn.commit()
Fermeture de la connection
Lorsque vous avez fini d'utiliser la base de données, il est conseillé de fermer la connexion afin de libérer les ressources du système. On appelle la méthode close() de l'objet connexion :
conn.close()