SQLite
 sql >> Base de données >  >> RDS >> SQLite

Tutoriel SQLite :Tout ce que vous devez savoir

Si vous avez travaillé avec des systèmes de bases de données relationnelles, il est probable que vous ayez entendu parler de systèmes de bases de données populaires tels que MySQL, SQL Server ou PostgreSQL. SQLite est un autre RDBMS extrêmement utile, très simple à configurer et à utiliser. En outre, il possède de nombreuses fonctionnalités distinctes par rapport aux autres bases de données relationnelles. Ce didacticiel SQLite enseigne les concepts de base que vous devez connaître à l'aide de pratiques pratiques approfondies.

Les sujets abordés dans cet article sont :

  • Qu'est-ce que SQLite ?
    • Fonctionnalités de SQLite
  • Installer SQLite sous Windows
  • Commandes SQLite
    • Commandes de base de données
    • Commandes de tableau
    • Opérations CRUD
    • Clauses/Conditions SQLite
    • Joints dans SQLite
  • Inconvénients de SQLite

Tutoriel SQLite :Qu'est-ce que SQLite ?

Voici la définition standard de l'industrie de SQLite :

SQLite est un moteur de base de données transactionnelle open source, sans configuration, autonome et autonome, conçu pour être intégré dans une application.

Vous pouvez envisager SQLite comme "briquet ” version d'autres SGBDR complexes (Oracle, SQL, etc.), où son moteur de base de données est configuré pour un traitement indépendant (bibliothèque in-process) c'est-à-dire un sans serveur, autonome, sans configuration et transactionnel . Il est connu pour sa portabilité, sa fiabilité et ses performances élevées, même dans des environnements à faible mémoire. En outre, SQLite est un choix populaire en tant que base de données intégrée pour le stockage local/client dans les programmes ou applications finaux, contrairement aux autres SGBDR, où le moteur de base de données client-serveur est configuré.

Fonctionnalités de SQLite

SQLite offre de nombreuses fonctionnalités distinctes telles que :

  • Sans serveur : La plupart des bases de données SQL sont implémentées en tant que processus serveur distinct, mais SQLite n'a pas de processus serveur distinct. C'est un moteur de base de données sans serveur. Il lit et écrit directement dans les fichiers de disque ordinaires.
  • Zéro-Configuration : Il ne nécessite aucune configuration pour le faire fonctionner. Cela signifie qu'aucun processus serveur ne doit être démarré, arrêté ou configuré comme dans un système client/serveur.
  • Saisie du manifeste : SQLite utilise le typage manifeste, qui permet le stockage de n'importe quelle quantité de n'importe quel type de données dans n'importe quelle colonne, quel que soit le type de données déclaré de la colonne. Notez qu'il existe certaines exceptions à cette règle.
  • Léger : Comme son nom l'indique, la bibliothèque SQLite est très légère. Le fait est que, bien que l'espace qu'il utilise varie en fonction du système sur lequel il est installé, il peut occuper moins de 600 Kio d'espace.
  • Portable : Contrairement aux autres SGBD, une base de données SQLite entière est stockée dans un seul fichier. Ce fichier peut être partagé très facilement via un support amovible ou un protocole de transfert de fichiers.
  • Choix varié : De nombreux langages de programmation fournissent des liaisons pour SQLite, notamment C, C++, C#, Java, JavaScript, Ruby, Python et bien d'autres.
  • Gratuit : SQLite est gratuit et open-source. Pour travailler avec SQLite, une licence commerciale n'est pas requise.

Comme indiqué ci-dessus, SQLite est connu pour sa configuration zéro, ce qui signifie qu'aucune configuration ou administration complexe n'est vraiment requise. Dans la prochaine partie de ce didacticiel SQLite, voyons comment installer SQLite sur votre système.

Tutoriel SQLite :Installer SQLite sous Windows

Les étapes à suivre sont :

Étape 1 : Allez sur le site officiel de SQLite et cliquez sur le lien approprié pour télécharger les binaires précompilés.

Étape 2 : Téléchargez le fichier zip de ligne de commande SQLite (ici :sqlite-tools-win32-x86-3270200.zip) et décompressez ces fichiers dans un dossier de votre choix.

Cet outil de ligne de commande SQLite contiendra les produits SQLite suivants

  • Cœur SQLite  :Le noyau SQLite contient le moteur de base de données et l'API publique.
  • Outil de ligne de commande SQLite3  :L'application sqlite3 est un outil de ligne de commande qui repose sur le noyau SQLite.
  • Extension TCL  :Cette bibliothèque est essentiellement une copie du noyau SQLite avec les liaisons Tcl ajoutées.
  • Outil d'analyse SQLite  :L'outil d'analyse SQLite est utilisé pour analyser les fichiers de base de données.

Étape 3 : Après cela, lancer la ligne de commande SQLite est aussi simple que de cliquer sur l'application sqlite3, ce qui fera apparaître la ligne de commande.

Si vous souhaitez tester davantage, tapez simplement .help commande depuis sqlite> invite à voir toutes les commandes disponibles dans sqlite3 comme indiqué ci-dessous.

Remarque : Par défaut, une session SQLite utilise la base de données en mémoire, par conséquent, toutes les modifications seront supprimées à la fin de la session.

Assez simple non? Ensuite, commençons avec les commandes SQLite.

Tutoriel SQLite :Commandes SQLite

Cette section du didacticiel SQLite présente les instructions SQL de base que vous pouvez utiliser avec SQLite.

Remarque : Les commandes SQLite se terminent par un point-virgule (; ). Il indique à SQLite que votre commande est terminée et doit être exécutée. Vous pouvez également répartir votre commande sur plusieurs lignes et utiliser le point-virgule sur la dernière ligne.

Commandes de base de données

Cette section se compose de ces commandes, par lesquelles vous pouvez gérer votre base de données. Les commandes sont :

  • SQLite Créer une base de données

SQLite n'utilise pas l'instruction CREATE DATABASE comme dans d'autres systèmes de gestion de bases de données relationnelles, tels que MySQL, SQL Server, etc. Pour créer une nouvelle base de données dans SQLite, entrez simplement sqlite3 suivi par le nom du fichier que vous souhaitez utiliser pour la base de données. Le code suivant crée un fichier de base de données appelé StudentDetails.db :

Exemple

sqlite3 StudentDetails.db;

sqlite> .databases 
main: D:sqliteStudentDetails.db;
  • Base de données SQLite Attach

Lorsque vous avez plusieurs bases de données, vous ne pouvez en utiliser qu'une à la fois. Dans SQLite, l'instruction ATTACH DATABASE est utilisée pour attacher une base de données particulière pour la connexion en cours. Après cette commande, toutes les instructions SQLite seront exécutées sous la base de données attachée.

Exemple

 sqlite> ATTACH DATABASE 'DepartmentDetails.db' AS 'Department';

sqlite> .databases
main: D:sqliteStudentDetails.db;
Department: D:sqliteDepartmentDetails.db
  • SQLite Detach Database

Dans SQLite, l'instruction DETACH DATABASE est utilisée pour détacher la base de données nommée par alias d'une connexion à la base de données qui était précédemment attachée à l'aide de l'instruction ATTACH. Si le même fichier de base de données a été joint avec plusieurs alias, cette commande ne déconnectera que le nom donné et le reste de la pièce jointe continuera d'exister. Les bases de données de la base de données en mémoire ou temporaire seront complètement détruites et le contenu sera perdu.

Exemple

sqlite> .databases
main: D:sqliteStudentDetails.db;
Department: D:sqliteDepartmentDetails.db
Student: D:sqliteStudentDetails.db
DeptInformation: D:sqliteDepartmentDetails.db

sqlite> DETACH DATABASE 'Department';

sqlite> .databases
main: D:sqliteStudentDetails.db;
Student: D:sqliteStudentDetails.db
DeptInformation: D:sqliteDepartmentDetails.db

Commandes de tableau

Ici, nous allons apprendre à gérer les tables lors de l'utilisation de SQLite.

  • Créer une table SQL

Dans SQLite, l'instruction CREATE TABLE est utilisée pour créer une nouvelle table. Lors de la création de la table, vous devez nommer la table et définir sa colonne et les types de données de chaque colonne.

Syntaxe :

CREATE TABLE table_name(
         Column1 column_type [constraints]
         Column2 column_type [constraints]
         [.....]
          );

Exemple


CREATE TABLE StudentInfo(
ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
DEPARTMENTID INTEGER NOT NULL,
PHONE TEXT DEFAULT 'UNKNOWN',
FOREIGN KEY(DEPARTMENTID) REFERENCES DepartmentInfo(DeptID)
); 

Vous pouvez vérifier si la table a été créée ou non en utilisant les .tables commande comme indiqué ci-dessous. Notez que j'ai déjà créé une table appelée DepartmentInfo où DeptID est la clé primaire. La table Departments a une contrainte de clé étrangère sur la table Students.

 

sqlite> .tables
StudentInfo Contacts Emp_Master

  • Tableau Drop SQLite

Dans SQLite, l'instruction DROP TABLE vous permet de supprimer ou de supprimer une table de la base de données SQLite. Une fois la table supprimée, toutes les données qu'elle contient sont définitivement supprimées de la base de données. Tous les index et déclencheurs associés sont également supprimés. Si une contrainte de clé étrangère est activée sur cette table, elle sera supprimée de manière équivalente pour chaque ligne de la table et tous les déclencheurs associés à la table seront également supprimés.

Syntaxe

DROP TABLE [ IF EXISTS ] table_name;

Exemple

 DROP TABLE Department;
Error: no such table: Department

DROP TABLE Company;
sqlite> .tables
StudentInfo

Remarque : IF EXISTS, est une clause facultative. Si spécifié, l'instruction DROP TABLE ne déclenchera pas d'erreur si l'une des tables n'existe pas.

Il existe également une instruction SQLite Alter Table , que nous comprendrons dans les prochaines sections de cet article. Maintenant que nous avons créé un tableau, voyons comment insérer, supprimer et modifier les données.

Tutoriel SQLite :Opérations CRUD

  • Requête d'insertion SQLite

Après avoir créé la table, la commande SQLite Insérer dans peut être utilisée pour créer de nouvelles lignes dans la table spécifiée. Il existe deux formes significatives de l'instruction d'insertion SQLite. Le premier formulaire utilise une clause VALUES pour spécifier une liste de valeurs à insérer.

Syntaxe


INSERT INTO TABLE_NAME [(column1, column2, column3,...columnN)]  
VALUES (value1, value2, value3,...valueN);

Exemple

INSERT INTO StudentInfo ( ID, NAME, AGE, ADDRESS, DEPARTMENTID, PHONE)
VALUES (1,'Dean', 20, 'California', 2, '934*******');

Sortie

SELECT *from StudentInfo;
ID          NAME        AGE         ADDRESS     DEPARTMENTID  PHONE
----------  ----------  ----------  ----------  ----------  ----------
1           Dean        20          California  2  934*******

Ici, une seule nouvelle ligne est créée et chaque valeur est enregistrée dans sa colonne respective. Notez que les deux listes doivent avoir le même nombre d'objets. Ici, la liste des colonnes est facultatif. Nous pouvons également insérer des données dans le tableau sans spécifier la liste des colonnes .

Exemple

INSERT INTO StudentInfo 
VALUES ( 2, 'SAM', 22, 'Texas', 2, '976*******');

Sortie

 SELECT *from StudentInfo;
ID          NAME        AGE         ADDRESS     DEPARTMENTID  PHONE
----------  ----------  ----------  ----------  ----------  ----------
1           Dean        20          California  2  934*******
2           SAM         22          Texas        2  976*******

SQLite offre également une fonctionnalité pourinsérer plusieurs lignes dans une seule instruction INSERT. La syntaxe est comme indiqué ci-dessous.

Exemple

INSERT INTO StudentInfo
VALUES (3,'John',23,'Norway',1,'923*******'),
(4,'Mitch',22,'Houston',3,'934*******');

Sortie

 Select *from StudentInfo;
1|Dean|20|California|2|934*******
2|SAM|22|Texas|2|976*******
3|John|23|Norway|1|923*******
4|Mitch|22|Houston|3|934*******

Comme vous pouvez le voir, le format de la sortie n'est pas tout à fait similaire à celui d'avant. Alors, comment changez-vous le format de sortie dans SQLite ? Formatons la sortie afin que nos résultats soient un peu plus faciles à lire.

  • Formatage

Vous pouvez utiliser .mode pour changer le mode de sortie. L'exemple ci-dessus utilise .mode list, qui affiche les résultats sous forme de liste. Vous pouvez également utiliser .headers pour spécifier s'il faut ou non afficher les en-têtes de colonne. Une fois les modifications effectuées, vous pouvez afficher le paramètre à l'aide de .show commande.

Exemple

 sqlite>.mode 'column'
sqlite> .headers on
sqlite> .show
echo: off
eqp: off
explain: auto
headers: on
mode: column
nullvalue: ""
output: stdout
colseparator: "|"
rowseparator: "n"
stats: off
width:
filename: StudentDetails.db

Sortie

 SELECT *FROM StudentInfo;

ID NAME AGE ADDRESS DEPARTMENT PHONE
---------- ---------- ---------- ---------- ---------- ----------
1 Dean 20 California 2 934*******
2 SAM 22 Texas 2 976*******
3 John 23 Norway 1 923*******
4 Mitch 22 Houston 3 934*******
  • Requête de sélection SQLite

Dans SQLite, l'instruction Select est utilisée pour extraire des données d'une table, qui renvoie des données sous la forme d'une table de résultats. Ces tableaux de résultats sont également appelés jeux de résultats. En utilisant l'instruction de sélection SQLite, nous pouvons effectuer des calculs simples ou plusieurs expressions en fonction de nos besoins. Nous avons déjà utilisé une instruction SELECT précédemment lorsque nous avons inséré des données.

Syntaxe

SELECT [ALL | DISTINCT] result [FROM table-list]
[WHERE expr]
  • DISTINCT – Lorsque nous utilisons un mot-clé distinct dans une instruction select, il ne renvoie que des lignes de données distinctes.
  • TOUS – Si nous utilisons le mot-clé ALL dans une instruction select, il renvoie toutes les lignes de données même si elles sont dupliquées.
  • À PARTIR de la liste des tables – Il s'agit d'une liste de tables à partir desquelles vous souhaitez obtenir des données.
  • expression OÙ – L'expression WHERE est utilisée pour définir nos conditions personnalisées afin d'obtenir les données requises à partir des tables.

Exemple1

 SELECT ID, NAME FROM StudentInfo WHERE AGE < 21;

Sortie

ID NAME
---------- ----------
1 Dean

Exemple2

Select NAME FROM StudentInfo WHERE DEPARTMENTID
= (SELECT DeptID FROM DepartmentInfo WHERE DeptName = 'Psychology');

Sortie

//fetches people from department whose id is 2

NAME
----------
Dean
SAM
  • Requête de mise à jour SQLite

Dans SQLite, l'instruction UPDATE peut être utilisée pour modifier les enregistrements existants dans une table. La clause WHERE de SQLite peut être utilisée pour spécifier exactement quelles lignes doivent être mises à jour. Vous pouvez facilement mettre à jour toutes les lignes, certaines lignes ou aucune, selon les conditions de filtrage appliquées par la clause WHERE.

Syntaxe

UPDATE table_name  
SET column1 = value1, column2 = value2...., columnN = valueN  
WHERE [condition];

Exemple

UPDATE StudentInfo SET DEPARTMENTID = 4 WHERE ID = '2';

Sortie

 SELECT *FROM StudentInfo;
ID          NAME        AGE         ADDRESS     DEPARTMENTID  PHONE
----------  ----------  ----------  ----------  ------------  ----------
1           Dean        20          California  2             934*******
2           SAM         22          Texas       4             976*******
3           John        23          Norway      1             923*******
4           Mitch       22          Houston     3             934*******
  • Requête de suppression SQLite

Dans SQLite, l'instruction DELETE peut être utilisée pour supprimer l'enregistrement de la table. Vous pouvez facilement supprimer toutes les lignes, certaines lignes ou aucune, selon les conditions de filtrage appliquées par la clause WHERE.

Exemple

 DELETE FROM DepartmentInfo WHERE DeptName = 'Science';

Sortie

 SELECT *FROM DepartmentInfo;
DeptID DeptName
---------- -----------
1 Mathematics
2 Psychology
3 Sports
4 Music

Si vous essayez de supprimer un enregistrement référencé par une clé étrangère, vous obtiendrez une erreur. Vous devrez d'abord supprimer les enregistrements de clé étrangère, avant de supprimer l'enregistrement de clé primaire. Essayons de supprimer le département science.

Exemple

DELETE FROM DepartmentInfo WHERE DeptName = 'Music';
Error: FOREIGN KEY constraint failed

Nous devons donc supprimer les enregistrements de clé étrangère avant de supprimer la clé primaire.

DELETE FROM StudentInfo WHERE DEPARTMENTID = 4;

sqlite> DELETE FROM DepartmentInfo WHERE DeptName = 'Music';

sqlite> SELECT *FROM DepartmentInfo;
DeptID      DeptName
----------  -----------
1           Mathematics
2           Psychology
3           Sports

 SELECT *FROM StudentInfo;
ID          NAME        AGE         ADDRESS     DEPARTMENTID  PHONE
----------  ----------  ----------  ----------  ------------  ----------
1           Dean        20          California  2             934*******
3           John        23          Norway      1             923*******
4           Mitch       22          Houston     3             934*******

Vous savez maintenant comment modifier les enregistrements dans la table de la base de données SQLite. Pour aller plus loin dans ce blog de didacticiel SQLite, discutons des différentes clauses et conditions que vous rencontrez le plus fréquemment dans SQLite.

Clauses/Conditions SQLite

Avant de commencer avec les clauses, voici la syntaxe complète de l'instruction SELECT dans SQLite.

Syntaxe

SELECT [ALL | DISTINCT] result [FROM table-list]
[WHERE expr]
[GROUP BY expr-list]
[HAVING expr]
[compound-op select]*
[ORDER BY sort-expr-list]
[LIMIT integer [(OFFSET|,) integer]]

Remarque :J'ai mis à jour les tables StudentInfo et DepartmentInfo comme indiqué ci-dessous.

//Student 
Table ID          NAME        AGE         ADDRESS     DEPARTMENTID  PHONE
----------  ----------  ----------  ----------  ------------  ----------
1           Dean        20          California  2             934*******
3           John        23          Norway      1             923*******
4           Mitch       22          Houston     3             934*******
2           SAM         22          Texas       4             976*******
5           Johny       23          Norway      2             945*******
6           Robin       23          Norway      2             UNKNOWN

//Department Details
DeptID      DeptName
----------  -----------
1           Mathematics
2           Psychology
3           Sports
4           Music
5           Science
  • SQLite OÙ

Dans SQLite, la clause WHERE est utilisée pour imposer des restrictions à l'instruction SELECT en définissant une ou plusieurs conditions pour obtenir les données requises à partir des tables de la base de données. Si la condition spécifiée est satisfaite ou vraie, elle renvoie une valeur spécifique de la table. Comme vous l'avez vu auparavant, la clause WHERE n'est pas seulement utilisée dans l'instruction SELECT, mais elle est également utilisée dans l'instruction UPDATE, DELETE, etc.

Exemple

SELECT NAME FROM StudentInfo WHERE AGE = 23;NAME
----------
John
Johny
Robin

Dans SQLite, il existe un certain nombre d'opérateurs relationnels qui peuvent être utilisés avec la clause WHERE.

  • SQLite GROUP BY

Dans SQLite, la clause GROUP BY est utilisée pour agréger les données dans une seule ligne où la valeur d'une ou plusieurs colonnes spécifiées est répétée. Cette clause est utilisée avec la clause WHERE dans l'instruction SELECT et précède la clause ORDER BY.

Syntaxe

SELECT result
FROM [table-list]
GROUP BY [expr-list]
SELECT NAME, ADDRESS FROM StudentInfo GROUP BY NAME;

NAME ADDRESS
---------- ----------
Dean California
John Norway
Johny Norway
Mitch Houston
Robin Norway
SAM Texas

Notez que le processus de regroupement comporte deux étapes. Tout d'abord, l'expression GROUP BY est utilisée pour organiser les lignes du tableau en différents groupes. Une fois les groupes définis, l'instruction SELECT définit comment ces groupes sont aplatis en une seule ligne.

  • SQLite ORDER BY

Généralement, les tables SQLite stockent les données dans un ordre non spécifié et renverront les enregistrements dans le même ordre non spécifié lors de la récupération des données à l'aide de l'instruction de sélection SQLite. Dans de tels cas, vous pouvez utiliser la clause ORDER BY pour trier les enregistrements de colonne dans l'ordre croissant ou décroissant. Dans l'exemple ci-dessous, j'ai regroupé et ordonné9en ordre décroissant) les données en fonction de l'adresse.

Syntaxe

SELECT expressions
FROM tables-list
[WHERE conditions]
ORDER BY column1, column2,... [ ASC | DESC ];

Exemple

SELECT ADDRESS, COUNT(ADDRESS) FROM StudentInfo GROUP BY ADDRESS ORDER BY ADDRESS DESC;
ADDRESS COUNT(ADDRESS)
---------- --------------
Texas 1
Norway 3
Houston 1
California 1
  • SQLite AYANT PAR

Dans SQLite, le AVOIR la clause est identique à WHERE clause. La clause HAVING est une condition supplémentaire appliquée après l'agrégation avec le group by dans l'instruction select. Généralement dans SQLite, WHERE La clause est utilisée pour appliquer une condition à des éléments individuels dans une table et la HAVING La clause est utilisée pour ajouter des conditions de filtre basées sur les groupes créés par la clause Group By.

Exemple

SELECT ADDRESS, COUNT(ADDRESS) FROM StudentInfo 
GROUP BY ADDRESS 
HAVING COUNT(*)>1;

ADDRESS     COUNT(ADDRESS)
----------  --------------
Norway      3
  • Clause de limite SQLite

Dans SQLite, la clause LIMIT est utilisée pour définir une limite aux enregistrements renvoyés par l'instruction select. Prenons un exemple pour comprendre le concept.

Syntaxe

SELECT expressions
FROM tables-list
[WHERE conditions]
LIMIT number_rows OFFSET offset_value;

Exemple

SELECT NAME, ADDRESS FROM StudentInfo LIMIT 4 OFFSET 2;
NAME        ADDRESS
----------  ----------
Mitch       Houston
SAM         Texas
Johny       Norway
Robin       Norway 

OFFSET est facultatif et définit le nombre de lignes à ignorer au début du jeu de résultats en fonction de offset_value .

  • SQLite AND &OR

Dans SQLite, les opérateurs ET et OU sont utilisés pour effectuer plusieurs conditions sur les instructions de sélection, d'insertion, de mise à jour et de suppression en fonction de nos exigences. L'opérateur SQLite AND renverra les lignes ou les enregistrements qui satisfont aux conditions définies à l'aide de l'opérateur AND.

Exemple1

SELECT NAME FROM StudentInfo WHERE AGE = 22 AND ADDRESS = 'Texas';
NAME
----------
SAM

La condition OR est utilisée pour définir plusieurs conditions dans les instructions SQLite et renverra des lignes ou des enregistrements à partir de l'instruction si l'une des conditions est satisfaite.

Exemple2

SELECT NAME FROM StudentInfo WHERE (AGE = 22 AND ADDRESS = 'Norway') OR ADDRESS = 'Norway';
NAME
----------
John
Johny
Robin
  • Opérateur SQLite GLOB

Dans SQLite, l'opérateur GLOB est utilisé pour vérifier si la valeur de chaîne donnée correspond à un modèle spécifique ou non. Si la valeur de la chaîne correspond à la valeur du modèle, elle renverra true et il est similaire à l'opérateur LIKE. De plus, GLOB est sensible à la casse.

Syntaxe

SELECT * FROM table_name
WHERE column_name GLOB 'search-expression'

Exemple

SELECT *FROM StudentInfo WHERE NAME GLOB 'Joh*';
ID NAME AGE ADDRESS DEPARTMENTID PHONE
---------- ---------- ---------- ---------- ------------ ----------
3 John 23 Norway 1 923*******
5 Johny 23 Norway 2 945*******
  • SQLite Distinct

Dans SQLite, le mot-clé DISTINCT analyse le jeu de résultats de l'instruction SELECT et élimine les lignes en double. De plus, les valeurs NULL sont considérées comme des doublons, donc si nous utilisons la clause DISTINCT avec une colonne contenant des valeurs NULL, elle ne conservera qu'une seule ligne d'une valeur NULL. Lorsque vous appliquez DISTINCT pour plusieurs colonnes, l'instruction renvoie chaque combinaison unique de coulnm1 et colonne2.

Exemple

SELECT DISTINCT AGE FROM StudentInfo;
AGE
----------
20
23
22
  • Opérateur SQLite IN

Dans SQLite, l'opérateur IN est utilisé pour déterminer si la valeur donnée correspond à une liste de valeurs données ou au résultat renvoyé par la sous-requête.

Exemple

SELECT NAME FROM StudentInfo WHERE ADDRESS IN ('Texas', 'Houston');
NAME
----------
Mitch
SAM
  • SQLite UNION &UNION ALL

Dans SQLite, l'opérateur UNION est utilisé pour combiner les ensembles de résultats de 2 ou plusieurs instructions SELECT et supprime les lignes en double entre les différentes instructions SELECT. N'oubliez pas que les instructions SELECT que nous avons utilisées avec l'opérateur UNION doivent avoir le même nombre de champs dans les ensembles de résultats avec des types de données similaires.

Syntaxe

SELECT expression1, expression2,... expression_n
FROM tables
[WHERE conditions]

UNION / UNION ALL

SELECT expression1, expression2,... expression_n
FROM tables
[WHERE conditions];

Exemple

 SELECT DEPARTMENTID FROM StudentInfo 
UNION
SELECT DeptId FROM DepartmentInfo ORDER BY DEPARTMENTID ASC;

DEPARTMENTID
------------
1
2
3
4
5

L'opérateur UNION ALL est utilisé pour combiner les ensembles de résultats de 2 ou plusieurs instructions SELECT et il renverra toutes les lignes, y compris les doublons.

Exemple

SELECT DEPARTMENTID FROM StudentInfo UNION ALL SELECT DeptId FROM DepartmentInfo ORDER BY DEPARTMENTID ASC;
DEPARTMENTID
------------
1
1
2
2
2
2
3
3
4
4
5

Avec cela, nous avons couvert les commandes les plus élémentaires que vous pourriez avoir à utiliser lorsque vous travaillez avec SQLite. Pour aller de l'avant avec ce didacticiel SQLite, examinons l'instruction de jointure dans SQLite.

Joints dans SQLite

Dans SQLite, les jointures sont utilisées pour combiner des enregistrements de deux tables ou plus dans une base de données et obtenir des enregistrements en fonction de nos besoins. Les différents types de JOINS disponibles dans SQLite sont :

  • Jointure interne - INNER JOIN est utilisé pour combiner et renvoyer uniquement les enregistrements correspondants de plusieurs tables en fonction des conditions définies dans les instructions SQLite.
  • Jointure externe - SQLite Outer Join sélectionnera les lignes correspondantes de plusieurs tables de la même manière que Inner Join et quelques autres lignes en dehors de la relation. En termes simples, nous pouvons dire que SQLite OUTER JOIN est un ajout de INNER JOIN. Généralement, nous avons trois types de jointures externes dans la norme SQL, à savoir les jointures externes LEFT, RIGHT et FULL, mais SQLite ne prend en charge que LEFT OUTER JOIN.
  • Jointure croisée – Il est utilisé pour obtenir le produit cartésien des lignes en faisant correspondre chaque ligne du premier tableau avec chaque ligne du second tableau.
  • Auto-jointure – Il est utilisé pour joindre la même table avec elle-même. Pour utiliser Self Join, nous devons créer différents noms d'alias pour la même table afin d'effectuer des opérations en fonction de nos besoins.

Le concept est similaire à celui d'autres systèmes de bases de données relationnelles comme SQL. Donc, pour en savoir plus, vous pouvez vous référer à cet article sur les jointures SQL.

Avec cela, nous avons couvert les commandes SQLite de base. Les concepts avancés ne sont pas abordés ici. Alors, restez à l'écoute pour un autre article sur les concepts avancés de SQLite. Même avec toutes les bonnes fonctionnalités que SQLite a à offrir, il présente également certains inconvénients.

Tutoriel SQLite :Inconvénients de SQLite

Vous trouverez ci-dessous la liste des inconvénients de l'utilisation de SQLite :

  • Cela ne fonctionne pas bien dans l'architecture client/serveur.
  • La taille d'une base de données SQLite est limitée à 2 Go dans la plupart des cas.
  • SQLite n'a pas implémenté RIGHT OUTER JOIN et FULL OUTER JOIN. Avec SQLite, nous ne pouvons implémenter LEFT OUTER JOIN.
  • Les vues dans SQLite sont en lecture seule. Nous ne pouvons pas utiliser les instructions DML (Insert, Update et Delete) avec les vues.
  • Nous ne pouvons pas utiliser les instructions GRANT et REVOKE avec SQLite.

Avec cela, nous arrivons à la fin de ce didacticiel SQLite.

Si vous souhaitez en savoir plus sur MySQL et découvrir cette base de données relationnelle open source, consultez notre Formation de certification MySQL DBA qui vient avec une formation en direct dirigée par un instructeur et une expérience de projet réelle. Cette formation vous aidera à comprendre MySQL en profondeur et vous aidera à maîtriser le sujet.

Vous avez une question pour nous ? Veuillez le mentionner dans la section des commentaires de ce didacticiel SQLite et je vous répondrai.