Berikut adalah empat opsi untuk menampilkan semua tampilan dalam database SQLite.
sqlite_schema
Tabel
Setiap database SQLite berisi satu sqlite_schema
tabel yang menyimpan skema untuk database itu. Skema untuk database adalah deskripsi dari semua tabel, indeks, pemicu, dan tampilan lain yang ada di dalam database.
Kami dapat meminta tabel ini untuk mengembalikan tampilan saja:
SELECT name
FROM sqlite_schema
WHERE type = 'view';
Contoh hasil:
name -------- v1 vArtists vAlbums vGenres
Dalam kasus saya, saya memiliki empat tampilan dalam database.
sqlite_master
Tabel
Untuk kompatibilitas historis, sqlite_schema
tabel juga dapat disebut sebagai sqlite_master
.
Jadi kita bisa mengubah contoh sebelumnya menjadi berikut:
SELECT name
FROM sqlite_master
WHERE type = 'view';
Contoh hasil:
name -------- v1 vArtists vAlbums vGenres
.tables
Perintah
Kita juga dapat menggunakan .tables
perintah untuk mengembalikan tampilan.
.table
perintah menanyakan sqlite_schema
tabel untuk semua database terlampir (bukan hanya database utama).
Perintah ini mengembalikan tabel dan tampilan, jadi mungkin tidak berguna seperti metode sebelumnya. Namun, jika Anda memiliki konvensi penamaan yang konsisten untuk tampilan Anda, ini bisa menjadi cara cepat dan mudah untuk mendapatkan daftar tampilan di database.
Contoh:
.tables
Contoh hasil:
Albums Customers OrderItems Products v1 vArtists Artists Genres Orders Vendors vAlbums vGenres
Dalam kasus saya, semua tampilan diawali dengan v
, sehingga memudahkan untuk menentukan mana yang merupakan tampilan dan mana yang merupakan tabel.
Kita juga dapat mempersempitnya berdasarkan nama tabel/tampilan dengan menambahkan pola ke .table
memerintah. Ini bisa berguna jika Anda memiliki konvensi penamaan yang jelas dan berbeda untuk tampilan Anda yang memisahkannya dari tabel.
Contoh:
.tables 'v%'
Hasil:
Vendors v1 vAlbums vArtists vGenres
Dalam hal ini, konvensi penamaan saya membantu, tetapi tidak mengecualikan semua tabel (Vendors
adalah meja). Either way, itu masih mempersempit hasil dan membuatnya lebih mudah untuk melihat semua tampilan dengan pandangan sekilas.
table_list
Pernyataan Pragma
Berikut adalah tambahan yang lebih baru untuk SQLite. table_list
pernyataan pragma diperkenalkan di SQLite 3.37.0 (dirilis pada 2021-11-27). Pernyataan pragma ini mencantumkan tabel dan tampilan.
Contoh:
PRAGMA table_list;
Hasil:
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
Kita bisa melihat mana yang dilihat dengan melihat type
kolom.
Anda dapat mempersempitnya ke skema tertentu, dan Anda dapat mencari berdasarkan nama tabel/tampilan. Lihat PRAGMA
table_list di SQLite untuk ikhtisar dan contoh opsi ini.