SQLite - Requête SELECT

SQLite SELECTL'instruction est utilisée pour récupérer les données d'une table de base de données SQLite qui renvoie des données sous la forme d'une table de résultats. Ces tableaux de résultats sont également appelésresult sets.

Syntaxe

Voici la syntaxe de base de l'instruction SQLite SELECT.

SELECT column1, column2, columnN FROM table_name;

Ici, colonne1, colonne2 ... sont les champs d'une table, dont vous voulez récupérer les valeurs. Si vous souhaitez récupérer tous les champs disponibles dans le champ, vous pouvez utiliser la syntaxe suivante -

SELECT * FROM table_name;

Exemple

Considérez la table COMPANY avec les enregistrements suivants -

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0

Voici un exemple pour récupérer et afficher tous ces enregistrements à l'aide de l'instruction SELECT. Ici, les trois premières commandes ont été utilisées pour définir une sortie correctement formatée.

sqlite>.header on
sqlite>.mode column
sqlite> SELECT * FROM COMPANY;

Enfin, vous obtiendrez le résultat suivant.

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0

Si vous souhaitez récupérer uniquement les champs sélectionnés de la table COMPANY, utilisez la requête suivante -

sqlite> SELECT ID, NAME, SALARY FROM COMPANY;

La requête ci-dessus produira le résultat suivant.

ID          NAME        SALARY
----------  ----------  ----------
1           Paul        20000.0
2           Allen       15000.0
3           Teddy       20000.0
4           Mark        65000.0
5           David       85000.0
6           Kim         45000.0
7           James       10000.0

Définition de la largeur de colonne de sortie

Parfois, vous serez confronté à un problème lié à la sortie tronquée en cas de .mode columnce qui se produit en raison de la largeur par défaut de la colonne à afficher. Vous pouvez définir la largeur des colonnes affichables en utilisant.width num, num.... commande comme suit -

sqlite>.width 10, 20, 10
sqlite>SELECT * FROM COMPANY;

Ce qui précède .width La commande définit la première largeur de colonne à 10, la deuxième largeur de colonne à 20 et la troisième largeur de colonne à 10. Enfin, l'instruction SELECT ci-dessus donnera le résultat suivant.

ID          NAME                  AGE         ADDRESS     SALARY
----------  --------------------  ----------  ----------  ----------
1           Paul                  32          California  20000.0
2           Allen                 25          Texas       15000.0
3           Teddy                 23          Norway      20000.0
4           Mark                  25          Rich-Mond   65000.0
5           David                 27          Texas       85000.0
6           Kim                   22          South-Hall  45000.0
7           James                 24          Houston     10000.0

Informations sur le schéma

Comme tous les dot commands sont disponibles à l'invite SQLite, par conséquent lors de la programmation avec SQLite, vous utiliserez l'instruction SELECT suivante avec sqlite_master table pour lister toutes les tables créées dans votre base de données.

sqlite> SELECT tbl_name FROM sqlite_master WHERE type = 'table';

En supposant que vous ayez uniquement la table COMPANY dans votre testDB.db, cela produira le résultat suivant.

tbl_name
----------
COMPANY

Vous pouvez lister les informations complètes sur la table COMPANY comme suit -

sqlite> SELECT sql FROM sqlite_master WHERE type = 'table' AND tbl_name = 'COMPANY';

En supposant que vous ayez uniquement la table COMPANY dans votre testDB.db, cela produira le résultat suivant.

CREATE TABLE COMPANY(
   ID INT PRIMARY KEY     NOT NULL,
   NAME           TEXT    NOT NULL,
   AGE            INT     NOT NULL,
   ADDRESS        CHAR(50),
   SALARY         REAL
)