Trong bài viết này, tôi phác thảo hai cách để trả về danh sách các chỉ mục trong cơ sở dữ liệu SQLite.
Phương pháp đầu tiên (và rõ ràng nhất) là sử dụng .indexes
lệnh chấm. Phương pháp thứ hai là truy vấn sql_master bảng.
Lệnh .indexes
Đây là một ví dụ về việc sử dụng .indexes
trên cơ sở dữ liệu mẫu Chinook.
.indexes
Kết quả:
IFK_AlbumArtistId IFK_PlaylistTrackTrackIdIFK_CustomerSupportRepId IFK_TrackAlbumIdIFK_EFasteeReportsTo IFK_TrackGenreIdIFK_InvoiceCustomerId IFK_TrackMediaIdIFK_EFasteeReportsTo IFK_TrackGenreIdIFK_InvoiceCustomerId IFK_TrackMediaTvoiceIdlistIdlistInIFBạn cũng có thể cung cấp một đối số để chỉ định chỉ mục / chỉ mục nào bạn muốn trả về. Bạn có thể cung cấp tên đầy đủ của chỉ mục hoặc bạn có thể sử dụng đối sánh mẫu để trả về tất cả các chỉ mục phù hợp với mẫu đó.
Ví dụ về việc sử dụng đối sánh mẫu:
.indexes %invoice%
Kết quả:
IFK_InvoiceCustomerId IFK_InvoiceLineInvoiceId IFK_InvoiceLineTrackIdBảng sqlite_master
Thay thế cho
.indexes
, bạn có thể chạy truy vấn đối với sql_master bàn.Bảng này không chỉ chứa các chỉ mục mà bạn có thể sử dụng
WHERE
để thu hẹp nó xuống chỉ các chỉ mục:SELECT name FROM sqlite_master WHERE type = 'index';
Kết quả:
IFK_AlbumArtistIdsqlite_autoindex_PlaylistTrack_1IFK_CustomerSupportRepIdIFK_EmpleteeeReportsToIFK_InvoiceCustomerIdIFK_InvoiceLineInvoiceIdIFK_InvoiceLineTrackIdIFK_InvoiceLineTrackIdIFckTenedia_TrackIdIFckTenedia_TrackIdIFckTenedia_TrackIdIFckTenediaMột lợi ích của việc sử dụng phương pháp này là bạn cũng có thể trả về bảng mà mỗi chỉ mục thuộc về. Điều này được lưu trữ trong tbl_name cột.
Ví dụ:
.mode column .headers on .width 32 13 SELECT name, tbl_name FROM sqlite_master WHERE type = 'index';
Trở lại:
tên tbl_name --------------------------------- IFK_AlbumArtistId Album sqlite_autoindex_PlaylistTrack_1 PlaylistTrackIFK_CustomerSupportRepId Customer IFK_EmployeeReportsTo Employee IFK_InvoiceCustomerId Invoice IFK_InvoiceLineInvoiceId InvoiceLine IFK_InvoiceLineTrackId InvoiceLine IFK_PlaylistTrackTrackId PlaylistTrackIFK_TrackAlbumId Track IFK_TrackGenreId Track IFK_TrackMediaTypeId Track