[[info:bdd:accueilbdd|{{ :iconemaison.jpg?nolink&25|Sommaire Bdd}}]] ===== BDDR - SQLite - Requêtes dans la console ===== [Mise à jour le 8/3/2024] {{ :info:bdd:sqlite.jpg?nolink&250|}} * **Ressources** * Le langage SQL * How To Download & Install SQLite Tools * Command Line Shell For SQLite * **Lectures connexes** * [[info:bdd:basesgene|Wiki - BDDR : généralités]] * [[:info:bdd:basesql|Wiki - BDDR - MySQL - Requêtes dans la console]] * [[:info:bdd:SqliteVSCode|Wiki - BDDR - SQLite dans VSCode]] * **Mots-clés** : SGBDR, base, table, enregistrement, champ, requêtes, SQL. ---- ==== 1. Présentation ==== SQLite est une bibliothèque en **langage C** qui implémente un petit moteur de base de données **SQL** complet, rapide, autonome et très fiable. C'est le moteur de base de données le plus utilisé au monde. Il est intégré à tous les téléphones mobiles et à la plupart des ordinateurs ainsi que dans d'innombrables applications que nous utilisons tous les jours. Le code source de SQLite est dans le domaine public. Voir le lien suivant pour **installer SQLite3**. ==== 2. Prise en main rapide ==== * **Sous windows** Sur un PC sous Windows, l'utilisation de la ligne de commande peut se faire dans **n'importe quel répertoire** du moment que le chemin vers le fichier **sqlite3.exe** est dans les **variables d'environnement**. === 2.1 Connexion à une base === * **Ressource** : SQLITE tutorial - Commandes * La console n'est pas activée \\ Démarer sqlite3 en entrant : **sqlite3** ou \\ **sqlite3** //nom_base//.**db** pour ouvrir la console et créer une base. \\ \\ * La console est activée \\ Entrer **.open** //nom_base// (si la base n'existe pas elle sera créée). \\ __Remarque__ : entrer **.database** pour afficher toutes les bases de données dans la connexion actuelle. {{ :informatique:bdd:sqlitecons1.png?nolink |}} // Exemple // : création de la base //cinema// sqlite>.open cinema sqlite> .databases -- Résultat : main: C:\Users\phili\OneDrive\Bureau\agd\cinema r/w {{ :web:createtable.png?nolink|}} === 2.2 Création d'une table === * **Ressource** : SQLITE tutorial - CREATE TABLE Lors de la création d’une table, il est nécessaire de définir pour chaque champ : son nom et son **type**. // Exemple // : création de la table //acteur//. {{ :web:infosql.png?nolink|}} CREATE table Acteur( id INTEGER PRIMARY KEY, prenom varchar(30), nom varchar(30), nationalite varchar(6), naissance date ); {{ :informatique:bdd:sqlitecons2.png?nolink |}} La commande **.schema** renvoie le schéma de la table. {{ :web:insertinto.png?nolink|}} === 2.3 Insertion d'enregistrements avec INSERT INTO === * **Ressource** : SQLITE tutorial - INSERT INTO On peut enregistrer une valeur à la fois ou plusieurs séparées par des virgules. // Exemple // : ajout d'un acteur dans la table. INSERT INTO acteur VALUES(1,'Keanu','Reeves','ca','1964-07-02'); {{ :informatique:bdd:sqlitecons3.png?nolink |}} {{ :web:selectfrom.png?nolink|}} === 2.4 Extraction de données avec SELECT === * **Ressource** : SQLITE tutorial - SELECT On peut sélectionner une ou plusieurs colonnes, données en paramètre. L'étoile indique que l'on sélectionne toutes les colonnes de la table. {{ :informatique:bdd:sqlitecons4.png?nolink|}} // Exemple // : consultation de la table //acteur//. SELECT * FROM acteur; -- Résultat 1|Keanu|Reeves|ca|1964-07-02 Pour améliorer la présentation, on utilise les commandes: \\ **.headers ON** et \\ **.mode column** // Exemple // SELECT * FROM acteur; -- Résultat -- id prenom nom nationalite naissance -- -- ------ ------ ----------- ---------- -- 1 Keanu Reeves ca 1964-07-02 {{ :informatique:bdd:sqlitecmd.png?nolink |}} === 2.5 Sortir de SQLite === * **Ressource** : SQLITE tutorial - Commandes Entrer la combinaison de touches **Ctrl-C** ==== 3. Utiliser un fichier d'extension .sql ==== On peut créer un fichier d'extension sql pour "plus de confort". Les requêtes sont placées entre \\ **BEGIN TRANSACTION;** et \\ **COMMIT;** // Exemple // : création du fichier //requetes.sql// dans le même répertoire que //cinema.db// pour ajouter un acteur à la table. BEGIN TRANSACTION; INSERT INTO acteur VALUES('Christopher','Walken','us','1943-03-31'); COMMIT; Ce fichier est "appliqué" à la base avec la commande : **sqlite3 cinema.db < requetes.sql**. {{ :informatique:bdd:sqlitefichcmd.png?nolink |}} On se connecte ensuite à //cinema.db// pour consulter la table //acteur//. {{ :informatique:bdd:sqlitefichcmd2.png?nolink |}} ==== Pour aller plus loin ...==== Voir [[info:bdd:sqlitevscode|SQL et SQLite dans VSCode]] et SQLite Tutorial