SQLite
 sql >> Baza danych >  >> RDS >> SQLite

Wyświetl wszystkie indeksy w bazie danych SQLite

W tym artykule przedstawiam dwa sposoby na zwrócenie listy indeksów w bazie danych SQLite.

Pierwszą (i najbardziej oczywistą) metodą jest użycie .indexes polecenie kropka. Drugą metodą jest zapytanie sql_master tabela.

Polecenie .indexes

Oto przykład użycia .indexes polecenie w przykładowej bazie danych Chinook.

.indexes 

Wynik:

IFK_AlbumArtistId IFK_PlaylistTrackTrackIdIFK_CustomerSupportRepId IFK_TrackAlbumIdIFK_EmployeeZgłoszenia do IFK_TrackGenreIdIFK_InvoiceCustomerId IFK_TrackMediaTypeIdIdLidIdIFK_InvoiceInvoice_1 

Możesz również podać argument, aby określić, który indeks/indeksy chcesz zwrócić. Możesz podać pełną nazwę indeksu lub użyć dopasowania do wzorca, aby zwrócić wszystkie indeksy pasujące do tego wzorca.

Przykład użycia dopasowania do wzorca:

.indexes %invoice% 

Wynik:

IFK_InvoiceCustomerId IFK_InvoiceLineInvoiceId IFK_InvoiceLineTrackId 

Tabela sqlite_master

Jako alternatywa dla .indexes polecenie, możesz uruchomić zapytanie względem sql_master stół.

Ta tabela zawiera więcej niż tylko indeksy, ale możesz użyć WHERE klauzula, aby zawęzić ją do samych indeksów:

SELECT name 
FROM sqlite_master 
WHERE type = 'index'; 

Wynik:

IFK_AlbumArtistIdsqlite_autoindex_PlaylistTrack_1IFK_CustomerSupportRepIdIFK_EmployeeReportsToIFK_InvoiceCustomerIdIFK_InvoiceLineInvoiceIdIFK_InvoiceLineTrackIdIFK_PlaylistTrackIdKpreAlbuTIR_Gracken 

Jedną z zalet korzystania z tej metody jest możliwość zwrócenia tabeli, do której należy każdy indeks. Jest on przechowywany w tbl_name kolumna.

Przykład:

.mode column
.headers on
.width 32 13
SELECT 
  name,
  tbl_name
FROM sqlite_master 
WHERE type = 'index'; 

Powrót:

nazwa nazwa_tabeli -------------------------------- ----------------- 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 

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Android - Wyświetlaj nazwę użytkownika z bazy danych sqlite po zalogowaniu w textView

  2. Pobierz bazę danych lub dowolny inny plik z pamięci wewnętrznej za pomocą funkcji run-as

  3. Używanie Robolectric z SQLiteAssetHelper

  4. Jak mogę odświeżyć/ponownie otworzyć bazę danych SQLite po jej przywróceniu, używając singletona jako pomocnika bazy danych?

  5. zwrócono sqlite:kod błędu =1, msg =brak takiej kolumny:kuchnia1