SQLite Instruction SELECT

L'instructionSELECTSELECT de SQLite est utilisée pour récupérer des données à partir des tables de la base de données SQLite, en renvoyant les données sous forme de tables de résultats. Ces tables de résultats sont également appelées ensembles de résultats.

Syntaxe

La syntaxe de base de l'instruction SELECT de SQLite est la suivante :

SELECT column1, column2, columnN FROM table_name;

Ici, column1, column2... sont les champs d'une table, dont les valeurs sont celles que vous souhaitez récupérer. Si vous souhaitez récupérer tous les champs disponibles, vous pouvez utiliser la syntaxe suivante :

SELECT * FROM table_name;

Exemples

Supposons que la table COMPANY contient 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 qui utilise l'instruction SELECT pour récupérer et afficher tous ces enregistrements. Ici, les deux premières commandes sont utilisées pour configurer 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 uniquement récupérer les champs spécifié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 des colonnes de sortie

Parfois, en raison de la largeur par défaut des colonnes à afficher.mode column, dans ce cas, la sortie est tronquée. À ce stade, vous pouvez utiliser la commande.width num, num....pour définir la largeur des colonnes d'affichage, comme indiqué ci-dessous :

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

La commande.widthci-dessus définit la largeur de la première colonne à 10, la deuxième colonne à 20, et la troisième colonne à 10. Par conséquent, l'instruction SELECT ci-dessus produira 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 toutes lescommandes pointne sont disponibles que dans l'invite SQLite, lorsque vous programmez avec SQLite, vous devez utiliser ce qui suit avec l'instruction SELECT de la tablesqlite_masterpour lister toutes les tables créées dans la base de données :

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

En supposant que la seule table COMPANY existe déjà dans testDB.db, le résultat suivant sera produit :

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

Vous pouvez lister les informations complètes sur la table COMPANY, comme indiqué ci-dessous :

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

En supposant que la seule table COMPANY existe déjà dans testDB.db, le résultat suivant sera produit :

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