Her er fire muligheder for at vise alle visninger i en SQLite-database.
sqlite_schema
Tabel
Hver SQLite-database indeholder en enkelt sqlite_schema
tabel, der gemmer skemaet for den pågældende database. Skemaet for en database er en beskrivelse af alle de andre tabeller, indekser, triggere og visninger, der er indeholdt i databasen.
Vi kan forespørge i denne tabel for kun at returnere visningerne:
SELECT name
FROM sqlite_schema
WHERE type = 'view';
Eksempelresultat:
name -------- v1 vArtists vAlbums vGenres
I mit tilfælde har jeg fire synspunkter i databasen.
sqlite_master
Tabel
For historisk kompatibilitet, sqlite_schema
tabel kan også omtales som sqlite_master
.
Så vi kan ændre det forrige eksempel til følgende:
SELECT name
FROM sqlite_master
WHERE type = 'view';
Eksempelresultat:
name -------- v1 vArtists vAlbums vGenres
.tables
Kommando
Vi kan også bruge .tables
kommando for at returnere visninger.
.table
kommandoen forespørger sqlite_schema
tabel for alle vedhæftede databaser (ikke kun den primære database).
Denne kommando returnerer både tabeller og visninger, så den er muligvis ikke så nyttig som de tidligere metoder. Men hvis du har en ensartet navnekonvention for dine synspunkter, kan det være en hurtig og nem måde at få en liste over synspunkter i databasen på.
Eksempel:
.tables
Eksempelresultat:
Albums Customers OrderItems Products v1 vArtists Artists Genres Orders Vendors vAlbums vGenres
I mit tilfælde er alle visninger foranstillet med v
, og så det gør det nemmere at bestemme, hvilke der er visninger, og hvilke der er tabeller.
Vi kan også indsnævre det efter tabel-/visningsnavn ved at tilføje et mønster til .table
kommando. Dette kan være praktisk, hvis du har en klar og tydelig navnekonvention for dine synspunkter, der adskiller dem fra tabeller.
Eksempel:
.tables 'v%'
Resultat:
Vendors v1 vAlbums vArtists vGenres
I dette tilfælde hjalp min navnekonvention, men den udelukkede ikke alle tabeller (Vendors
er et bord). Uanset hvad, indsnævrede det stadig resultaterne og gjorde det nemmere at se alle visninger med et hurtigt blik.
table_list
Pragmaerklæring
Her er en nyere tilføjelse til SQLite. table_list
pragma-sætning blev introduceret i SQLite 3.37.0 (frigivet 2021-11-27). Denne pragmaerklæring viser tabeller og synspunkter.
Eksempel:
PRAGMA table_list;
Resultat:
schema name type ncol wr strict --------- ------------------------------ ----- ---- -- ------ main sqlite_schema table 5 0 0 temp sqlite_temp_schema table 5 0 0 Northwind Sales by Category view 4 0 0 Northwind Sales Totals by Amount view 4 0 0 Northwind Products by Category view 5 0 0 Northwind Summary of Sales by Quarter view 3 0 0 Northwind Product Sales for 1997 view 3 0 0 Northwind Order Subtotals view 2 0 0 Northwind Invoices view 26 0 0 Northwind Quarterly Orders view 4 0 0 Northwind Customer and Suppliers by City view 4 0 0 Northwind Alphabetical list of products view 11 0 0 Northwind Order Details Extended view 7 0 0 Northwind Category Sales for 1997 view 2 0 0 Northwind Products Above Average Price view 2 0 0 Northwind Orders Qry view 20 0 0 Northwind Suppliers table 12 0 0 Northwind Summary of Sales by Year view 3 0 0 Northwind Regions table 2 0 0 Northwind Orders table 14 0 0 Northwind sqlite_schema table 5 0 0 Northwind Categories table 4 0 0 Northwind sqlite_sequence table 2 0 0 Northwind Products table 10 0 0 Northwind CustomerDemographics table 2 0 0 Northwind CustomerCustomerDemo table 2 0 0 Northwind Customers table 11 0 0 Northwind Employees table 18 0 0 Northwind Current Product List view 2 0 0 Northwind Territories table 3 0 0 Northwind EmployeeTerritories table 2 0 0 Northwind Shippers table 3 0 0 Northwind Order Details table 5 0 0
Vi kan se, hvilke der er visninger, ved at se på type
kolonne.
Du kan indsnævre det til et bestemt skema, og du kan søge efter tabel-/visningsnavn. Se PRAGMA
table_list i SQLite for en oversigt og eksempler på denne mulighed.