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

PRAGMA table_list dans SQLite

Dans SQLite, la table_list pragma renvoie des informations sur les tables et les vues du schéma.

Il a été introduit pour la première fois dans SQLite version 3.37.0 (publié le 2021-11-27).

Syntaxe

La table_list pragma peut être utilisé de l'une des manières suivantes :

PRAGMA table_list;
PRAGMA schema.table_list;
PRAGMA table_list(table-name); 

schema est le nom d'un schéma spécifique pour lequel vous souhaitez répertorier les tables et les vues.

Et où table-name est le nom des tables ou des vues spécifiques que vous souhaitez répertorier.

Exemple

PRAGMA table_list; 

Résultat :

type de nom de schéma ncol wr strict------ ------------------ ----- ---- -- ------ main sqlite_schema table 5 0 0 temp sqlite_temp_schema table 5 0 0 Store Orders table 2 0 1 Store Customers table 4 1 1 Store Products table 3 0 0 Store Types table 3 0 0 Store Dogs table 3 0 0 Store Cats table 3 0 0 Store vProducts view 3 0 0 Store sqlite_schema table 5 0 0 Pets Events table 4 0 0 Pets Pets table 3 0 0 Pets Types table 2 0 0 Pets Cats table 2 0 0 Pets Dogs table 2 0 0 Pets sqlite_schema table 5 0 0 

Nous pouvons voir que les noms de table et de vue sont listés dans le name colonne. Nous pouvons également voir s'il s'agit d'une table ou d'une vue en regardant le type colonne. Et bien sûr, le nom du schéma est listé dans le schema colonne.

Le ncol colonne contient le nombre de colonnes du tableau, y compris les colonnes générées et les colonnes masquées.

Le wr la colonne indique si oui ou non la table a été définie avec le WITHOUT ROWID option. Dans notre exemple, nous pouvons voir que les Customers la table a été définie avec WITHOUT ROWID .

Le strict colonne indique si oui ou non la table a été définie avec le STRICT option. Cette option a été introduite dans SQLite version 3.37.0 (la même version que la table_list pragma a été introduit). Dans notre exemple, nous pouvons voir que les Customers et Orders les tables ont été définies avec le STRICT option.

Obtenir toutes les tables d'une base de données spécifique

Nous pouvons inclure le nom du schéma afin de renvoyer uniquement les tables et les vues d'une base de données :

PRAGMA Store.table_list; 

Résultat :

type de nom de schéma ncol wr strict------ ------------- ----- ---- -- ------Store Orders table 2 0 1 Table des clients du magasin 4 1 1 Table des produits du magasin 3 0 0 Table des types de magasin 3 0 0 Table des chiens du magasin 3 0 0 Table des chats du magasin 3 0 0 Vue vProducts du magasin 3 0 0 Table sqlite_schema du magasin 5 0 0 

Obtenir les tableaux par nom

Nous pouvons fournir le nom de la table/vue afin de renvoyer toutes les tables/vues portant ce nom dans toutes les bases de données :

PRAGMA table_list('Dogs'); 

Résultat :

schema name type ncol wr strict------ ---- ----- ---- -- ------Store Dogs table 3 0 0 Pets Dogs table 2 0 0  

Dans ce cas, nous pouvons voir que le Store et Pets les schémas ont une table appelée Dogs .