SQLite
 sql >> Baza danych >  >> RDS >> SQLite

4 sposoby na wyświetlenie listy widoków w bazie danych SQLite

Oto cztery opcje wyświetlania wszystkich widoków w bazie danych SQLite.

sqlite_schema Tabela

Każda baza danych SQLite zawiera pojedynczy sqlite_schema tabela przechowująca schemat dla tej bazy danych. Schemat bazy danych to opis wszystkich innych tabel, indeksów, wyzwalaczy i widoków zawartych w bazie danych.

Możemy wysłać zapytanie do tej tabeli, aby zwrócić tylko widoki:

SELECT name 
FROM sqlite_schema 
WHERE type = 'view';

Przykładowy wynik:

name    
--------
v1      
vArtists
vAlbums 
vGenres

W moim przypadku w bazie danych mam cztery widoki.

sqlite_master Tabela

Dla historycznej zgodności, sqlite_schema tabela może być również określana jako sqlite_master .

Możemy więc zmienić poprzedni przykład na następujący:

SELECT name 
FROM sqlite_master 
WHERE type = 'view';

Przykładowy wynik:

name    
--------
v1      
vArtists
vAlbums 
vGenres

.tables Polecenie

Możemy również użyć .tables polecenie, aby zwrócić widoki.

.table polecenie odpytuje sqlite_schema tabela dla wszystkich dołączonych baz danych (nie tylko podstawowej bazy danych).

To polecenie zwraca zarówno tabele, jak i widoki, więc może nie być tak przydatne, jak poprzednie metody. Jeśli jednak masz spójną konwencję nazewnictwa dla swoich widoków, może to być szybki i łatwy sposób na uzyskanie listy widoków w bazie danych.

Przykład:

.tables

Przykładowy wynik:

Albums      Customers   OrderItems  Products    v1          vArtists  
Artists     Genres      Orders      Vendors     vAlbums     vGenres  

W moim przypadku wszystkie widoki mają przedrostek v , dzięki czemu łatwiej jest określić, które z nich są widokami, a które tabelami.

Możemy również zawęzić go według nazwy tabeli/widoku, dołączając wzorzec do .table Komenda. Może to być przydatne, jeśli masz jasną i odrębną konwencję nazewnictwa widoków, która oddziela je od tabel.

Przykład:

.tables 'v%'

Wynik:

Vendors   v1        vAlbums   vArtists  vGenres

W tym przypadku moja konwencja nazewnictwa pomogła, ale nie wykluczyła wszystkich tabel (Vendors jest stół). Tak czy inaczej, nadal zawęziło wyniki i ułatwiło szybkie zobaczenie wszystkich widoków.

table_list Oświadczenie pragmatyczne

Oto nowszy dodatek do SQLite. table_list Instrukcja pragma została wprowadzona w SQLite 3.37.0 (wydanym 27.11.2021). To oświadczenie pragma zawiera listę tabel i widoków.

Przykład:

PRAGMA table_list;

Wynik:

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   

Możemy zobaczyć, które z nich są widokami, patrząc na type kolumna.

Możesz zawęzić go do określonego schematu i możesz wyszukiwać według nazwy tabeli/widoku. Zobacz PRAGMA table_list w SQLite, aby zapoznać się z przeglądem i przykładami tej opcji.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wyświetl wszystkie tabele tymczasowe w SQLite

  2. Jak mogę dodać nowe kolumny do bazy danych SQLite po wydaniu aplikacji na Androida?

  3. SQLite ISTNIEJE

  4. Połączenie SQLite wyciekło, chociaż wszystko zamknięte

  5. Automatycznie generuj klucz złożony w SQLite