sql >> Database teknologi >  >> RDS >> SQLite

4 måder at liste visningerne i en SQLite-database

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.


  1. Sådan får du det aktuelle forbindelsesobjekt i Spring JDBC

  2. Er der en præstationsforskel mellem CTE, Sub-Query, Temporary Table eller Table Variable?

  3. GI 19c RPM Package Manager Database

  4. Håndtering af langsomme forespørgsler med PostgreSQL