SQLite
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> SQLite

4 cách liệt kê các dạng xem trong cơ sở dữ liệu SQLite

Dưới đây là bốn tùy chọn để hiển thị tất cả các dạng xem trong cơ sở dữ liệu SQLite.

sqlite_schema Bảng

Mỗi cơ sở dữ liệu SQLite đều chứa một sqlite_schema bảng lưu trữ lược đồ cho cơ sở dữ liệu đó. Lược đồ cho cơ sở dữ liệu là mô tả của tất cả các bảng, chỉ mục, trình kích hoạt và dạng xem khác được chứa trong cơ sở dữ liệu.

Chúng tôi có thể truy vấn bảng này để chỉ trả về các chế độ xem:

SELECT name 
FROM sqlite_schema 
WHERE type = 'view';

Kết quả ví dụ:

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

Trong trường hợp của tôi, tôi có bốn chế độ xem trong cơ sở dữ liệu.

sqlite_master Bảng

Để tương thích với lịch sử, sqlite_schema bảng cũng có thể được gọi là sqlite_master .

Vì vậy, chúng ta có thể thay đổi ví dụ trước thành ví dụ sau:

SELECT name 
FROM sqlite_master 
WHERE type = 'view';

Kết quả ví dụ:

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

.tables Lệnh

Chúng tôi cũng có thể sử dụng .tables lệnh để trả về các khung nhìn.

.table lệnh truy vấn sqlite_schema bảng cho tất cả các cơ sở dữ liệu đính kèm (không chỉ cơ sở dữ liệu chính).

Lệnh này trả về cả bảng và dạng xem, vì vậy nó có thể không hữu ích bằng các phương thức trước. Tuy nhiên, nếu bạn có quy ước đặt tên nhất quán cho các chế độ xem của mình, thì đó có thể là một cách nhanh chóng và dễ dàng để có được danh sách các chế độ xem trong cơ sở dữ liệu.

Ví dụ:

.tables

Kết quả ví dụ:

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

Trong trường hợp của tôi, tất cả các chế độ xem đều có tiền tố là v và do đó giúp dễ dàng xác định cái nào là dạng xem và cái nào là bảng.

Chúng tôi cũng có thể thu hẹp nó theo tên bảng / chế độ xem bằng cách thêm một mẫu vào .table yêu cầu. Điều này có thể hữu ích nếu bạn có quy ước đặt tên rõ ràng và riêng biệt cho các dạng xem của mình để tách chúng khỏi bảng.

Ví dụ:

.tables 'v%'

Kết quả:

Vendors   v1        vAlbums   vArtists  vGenres

Trong trường hợp này, quy ước đặt tên của tôi đã hữu ích nhưng không loại trừ tất cả các bảng (Vendors là một cái bàn). Dù bằng cách nào, nó vẫn thu hẹp kết quả và giúp bạn xem nhanh tất cả các chế độ xem dễ dàng hơn.

table_list Tuyên bố Pragma

Đây là một bổ sung gần đây hơn cho SQLite. table_list câu lệnh pragma đã được giới thiệu trong SQLite 3.37.0 (phát hành vào ngày 27 tháng 11 năm 2021). Câu lệnh pragma này liệt kê các bảng và dạng xem.

Ví dụ:

PRAGMA table_list;

Kết quả:

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   

Chúng ta có thể biết cái nào là dạng xem bằng cách nhìn vào type cột.

Bạn có thể thu hẹp nó thành một lược đồ cụ thể và bạn có thể tìm kiếm theo tên bảng / chế độ xem. Xem PRAGMA table_list trong SQLite để biết tổng quan và các ví dụ về tùy chọn này.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQLite - Thả một cơ sở dữ liệu

  2. Làm cách nào để tạo Mảng danh sách với dữ liệu con trỏ trong Android

  3. Cách lấy ngày hôm qua trong SQLite

  4. Cơ sở dữ liệu được điền sẵn không hoạt động ở API 28 không có ngoại lệ bảng nào như vậy

  5. 11 cách tìm hàng trùng lặp khi bỏ qua khóa chính trong SQLite