Sqlite

Posted on jeu. 07 décembre 2023 in applications

sqlite.png

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()