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.