Création et gestion de bases de données SQLite

SQLiteSQLiteBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, vous apprendrez les bases du travail avec les bases de données SQLite en utilisant l'outil en ligne de commande sqlite3. SQLite est un système de base de données léger, basé sur des fichiers, idéal pour les débutants. Vous créerez une base de données, créerez des tables, insérerez des données, interrogerez des données, ajouterez des colonnes, mettrez à jour des données et, enfin, supprimerez le fichier de base de données. Commençons !


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL sqlite(("SQLite")) -.-> sqlite/SQLiteGroup(["SQLite"]) sqlite/SQLiteGroup -.-> sqlite/init_db("Create SQLite Database") sqlite/SQLiteGroup -.-> sqlite/link_db("Connect To Database") sqlite/SQLiteGroup -.-> sqlite/make_table("Create New Table") sqlite/SQLiteGroup -.-> sqlite/add_rows("Insert Multiple Rows") sqlite/SQLiteGroup -.-> sqlite/get_all("Select All Rows") sqlite/SQLiteGroup -.-> sqlite/query_where("Filter With WHERE") sqlite/SQLiteGroup -.-> sqlite/append_col("Add New Column") sqlite/SQLiteGroup -.-> sqlite/end_db("Close Database Connection") subgraph Lab Skills sqlite/init_db -.-> lab-552337{{"Création et gestion de bases de données SQLite"}} sqlite/link_db -.-> lab-552337{{"Création et gestion de bases de données SQLite"}} sqlite/make_table -.-> lab-552337{{"Création et gestion de bases de données SQLite"}} sqlite/add_rows -.-> lab-552337{{"Création et gestion de bases de données SQLite"}} sqlite/get_all -.-> lab-552337{{"Création et gestion de bases de données SQLite"}} sqlite/query_where -.-> lab-552337{{"Création et gestion de bases de données SQLite"}} sqlite/append_col -.-> lab-552337{{"Création et gestion de bases de données SQLite"}} sqlite/end_db -.-> lab-552337{{"Création et gestion de bases de données SQLite"}} end

Créer une base de données SQLite et se connecter

Dans cette étape, vous allez créer un nouveau fichier de base de données SQLite et vous y connecter à l'aide de l'outil en ligne de commande sqlite3.

  1. Ouvrez un terminal dans l'environnement VM LabEx. Par défaut, vous devriez être dans le répertoire /home/labex/project. Confirmez cela en exécutant la commande suivante :

    pwd

    La sortie devrait être :

    /home/labex/project

    Si vous n'êtes pas dans ce répertoire, naviguez-y en exécutant :

    cd /home/labex/project
  2. Créez une nouvelle base de données SQLite nommée mydatabase.db et connectez-vous à celle-ci en utilisant la commande sqlite3 :

    sqlite3 mydatabase.db

    Cette commande crée le fichier mydatabase.db s'il n'existe pas et ouvre une connexion à celui-ci. Vous verrez l'invite SQLite :

    SQLite version 3.x.x
    Enter ".help" for usage hints.
    sqlite>

La commande sqlite3 est utilisée à la fois pour créer et pour se connecter aux bases de données SQLite. Si le fichier de base de données spécifié n'existe pas, SQLite le créera. Vous êtes maintenant prêt à exécuter des commandes SQL dans l'environnement SQLite.

Créer la table users

Dans cette étape, vous allez créer une table nommée users à l'intérieur de la base de données mydatabase.db.

  1. Assurez-vous que vous êtes toujours connecté à la base de données mydatabase.db depuis l'étape précédente. Si ce n'est pas le cas, reconnectez-vous en utilisant :

    sqlite3 mydatabase.db
  2. Créez une table nommée users avec la commande SQL suivante :

    CREATE TABLE users (
        id INTEGER PRIMARY KEY,
        name TEXT NOT NULL,
        age INTEGER
    );

    Cette commande définit la structure de la table users. La colonne id est un entier et la clé primaire (PRIMARY KEY), garantissant que chaque utilisateur a un identifiant unique. La colonne name est un champ texte qui ne peut pas être laissé vide (NOT NULL), et la colonne age est un entier.

La commande CREATE TABLE est une commande SQL fondamentale utilisée pour définir la structure d'une table dans une base de données. La contrainte PRIMARY KEY garantit que la colonne id contient des valeurs uniques pour chaque ligne, et la contrainte NOT NULL garantit que la colonne name ne peut pas être vide.

Insérer des données dans la table users

Maintenant que vous avez créé la table users, vous pouvez y insérer des données. Cela implique d'ajouter des lignes (enregistrements) à la table, chaque ligne représentant un utilisateur et ses informations correspondantes.

  1. Assurez-vous que vous êtes toujours connecté à la base de données mydatabase.db. Si ce n'est pas le cas, reconnectez-vous en utilisant :

    sqlite3 mydatabase.db
  2. Insérez les enregistrements suivants dans la table users en utilisant la commande INSERT INTO :

    INSERT INTO users (id, name, age) VALUES (1, 'Alice', 25);
    INSERT INTO users (id, name, age) VALUES (2, 'Bob', 30);
    INSERT INTO users (id, name, age) VALUES (3, 'Charlie', 22);

    Ces commandes ajoutent trois nouvelles lignes à la table users. Chaque ligne comprend un id, un name et un age.

La commande INSERT INTO est utilisée pour ajouter de nouvelles lignes à une table. Les valeurs spécifiées dans la clause VALUES sont insérées dans les colonnes correspondantes listées entre parenthèses après le nom de la table.

Interroger les données de la table users

Dans cette étape, vous apprendrez à interroger les données de la table users en utilisant la commande SELECT. Cela vous permet de récupérer des informations spécifiques de la base de données.

  1. Assurez-vous que vous êtes toujours connecté à la base de données mydatabase.db. Si ce n'est pas le cas, reconnectez-vous en utilisant :

    sqlite3 mydatabase.db
  2. Récupérez toutes les données de la table users en utilisant la commande SQL suivante :

    SELECT * FROM users;

    Cette commande sélectionne toutes les colonnes (*) de toutes les lignes de la table users. La sortie affichera les données que vous avez insérées à l'étape précédente. Vous devriez voir quelque chose comme ceci :

    1|Alice|25
    2|Bob|30
    3|Charlie|22

La commande SELECT est un outil puissant pour récupérer des données d'une base de données. Le caractère générique * spécifie que toutes les colonnes doivent être sélectionnées. Vous pouvez également sélectionner des colonnes spécifiques en listant leurs noms séparés par des virgules (par exemple, SELECT name, age FROM users;).

Ajouter une nouvelle colonne et mettre à jour les données

Dans cette étape, vous allez ajouter une nouvelle colonne nommée email à la table users, puis mettre à jour les enregistrements existants avec des adresses e-mail.

  1. Assurez-vous que vous êtes toujours connecté à la base de données mydatabase.db. Si ce n'est pas le cas, reconnectez-vous en utilisant :

    sqlite3 mydatabase.db
  2. Ajoutez une nouvelle colonne nommée email à la table users en utilisant la commande ALTER TABLE :

    ALTER TABLE users ADD COLUMN email TEXT;

    Cette commande ajoute une nouvelle colonne nommée email de type TEXT à la table users.

  3. Mettez à jour la colonne email pour chaque utilisateur en utilisant la commande UPDATE :

    UPDATE users SET email = '[email protected]' WHERE id = 1;
    UPDATE users SET email = '[email protected]' WHERE id = 2;
    UPDATE users SET email = '[email protected]' WHERE id = 3;

    Ces commandes mettent à jour la colonne email pour chaque utilisateur avec une adresse e-mail correspondante.

  4. Vérifiez les données mises à jour en interrogeant la table users :

    SELECT * FROM users;
    1|Alice|25|[email protected]
    2|Bob|30|[email protected]
    3|Charlie|22|[email protected]

La commande ALTER TABLE est utilisée pour modifier la structure d'une table existante. Dans ce cas, nous ajoutons une nouvelle colonne. La commande UPDATE est utilisée pour modifier les données existantes dans une table. La clause SET spécifie quelle colonne mettre à jour et la nouvelle valeur. La clause WHERE spécifie quelles lignes mettre à jour en fonction d'une condition.

Quitter SQLite et supprimer le fichier de base de données

Dans cette étape, vous allez quitter l'interface SQLite, puis supprimer le fichier de base de données. Étant donné que SQLite stocke toutes les données dans un seul fichier, la suppression d'une base de données est aussi simple que la suppression du fichier à l'aide de la commande rm. Soyez prudent, car cette action est irréversible !

  1. Quittez l'invite SQLite :

    .quit
  2. Assurez-vous que vous êtes dans le répertoire /home/labex/project. Confirmez avec :

    pwd

    La sortie devrait être :

    /home/labex/project

    Si ce n'est pas le cas, naviguez-y en utilisant :

    cd /home/labex/project
  3. Supprimez le fichier mydatabase.db en utilisant la commande rm :

    rm mydatabase.db

    Il n'y aura aucune sortie si la suppression réussit.

  4. Confirmez que le fichier a été supprimé en listant à nouveau le contenu du répertoire :

    ls

    Vous ne devriez plus voir mydatabase.db dans la sortie, confirmant que le fichier a été supprimé.

La commande .quit quitte l'interpréteur (shell) SQLite et vous ramène au terminal Linux. La commande rm est une commande Linux standard utilisée pour supprimer des fichiers. Dans ce cas, elle supprime définitivement le fichier mydatabase.db, qui contient toutes les données et la structure de votre base de données SQLite.

Résumé

Dans ce TP (travaux pratiques), vous avez acquis les compétences essentielles pour créer et gérer des bases de données SQLite à l'aide de l'outil en ligne de commande sqlite3. Vous avez créé une base de données, créé une table, inséré des données, interrogé les données, ajouté une nouvelle colonne, mis à jour les données et, enfin, supprimé le fichier de base de données. Ces étapes fournissent une base solide pour travailler avec les bases de données SQLite.