I denne artikel skitserer jeg to måder at returnere en liste over indekser i en SQLite-database på.
Den første (og mest oplagte) metode er at bruge .indexes
prik kommando. Den anden metode er at forespørge sql_master tabel.
.indexes-kommandoen
Her er et eksempel på brug af .indexes
kommando på Chinook-eksempeldatabasen.
.indexes
Resultat:
IFK_AlbumArtistId IFK_PlaylistTrackTrackIdIFK_CustomerSupportRepId IFK_TrackAlbumIdIFK_EmployeeReportsTo IFK_TrackGenreIdIFK_InvoiceCustomerId IFK_TrackMediaTypeIdrackLIFKiDDu kan også give et argument for at angive, hvilke indeks/indekser du gerne vil have returneret. Du kan angive det fulde navn på indekset, eller du kan bruge mønstermatchning til at returnere alle indekser, der matcher det mønster.
Eksempel på brug af mønstertilpasning:
.indexes %invoice%
Resultat:
IFK_InvoiceCustomerId IFK_InvoiceLineInvoiceId IFK_InvoiceLineTrackIdsqlite_master-tabellen
Som et alternativ til
.indexes
kommando, kan du køre en forespørgsel mod sql_master bord.Denne tabel indeholder mere end blot indekser, men du kan bruge en
WHERE
klausul for at indsnævre det til kun indekser:SELECT name FROM sqlite_master WHERE type = 'index';
Resultat:
IFK_AlbumArtistIdsqlite_autoindex_PlaylistTrack_1IFK_CustomerSupportRepIdIFK_EmployeeReportsToIFK_InvoiceCustomerIdIFK_InvoiceLineInvoiceIdIFK_InvoiceLineSupportRepIdIFK_EmployeeReportsToIFK_InvoiceCustomerIdIFK_InvoiceLineInvoiceIdIFK_InvoiceLineTrackIdIFTK_TrackIrackIFTrackIEn fordel ved at bruge denne metode er, at du også kan returnere den tabel, som hvert indeks tilhører. Dette er gemt i tbl_name kolonne.
Eksempel:
.mode column .headers on .width 32 13 SELECT name, tbl_name FROM sqlite_master WHERE type = 'index';
Retur:
navn 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