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);
Où 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 0Dans ce cas, nous pouvons voir que le
Store
etPets
les schémas ont une table appeléeDogs
.