sql >> Databáze >  >> RDS >> SQLite

Seznam všech indexů v databázi SQLite

V tomto článku nastíním dva způsoby, jak vrátit seznam indexů v databázi SQLite.

První (a nejzřejmější) metoda je použití .indexes příkaz tečka. Druhou metodou je dotaz na sql_master tabulka.

Příkaz .indexes

Zde je příklad použití .indexes příkaz ve vzorové databázi Chinook.

.indexes 

Výsledek:

IFK_AlbumArtistId IFK_PlaylistTrackTrackIdIFK_CustomerSupportRepId IFK_TrackAlbumIdIFK_EmployeeReportsTo IFK_TrackGenreIdIFK_InvoiceCustomerId IFK_TrackMediaTypeIdInKLiice>IFKautoIdIFKLiice 

Můžete také zadat argument, který určí, které indexy/indexy chcete vrátit. Můžete zadat celý název indexu nebo můžete použít porovnávání vzorů a vrátit všechny indexy, které tomuto vzoru odpovídají.

Příklad použití shody vzorů:

.indexes %invoice% 

Výsledek:

IFK_InvoiceCustomerId IFK_InvoiceLineInvoiceId IFK_InvoiceLineTrackId 

Tabulka sqlite_master

Jako alternativa k .indexes můžete spustit dotaz proti sql_master stůl.

Tato tabulka obsahuje více než jen indexy, ale můžete použít WHERE klauzule k zúžení pouze na indexy:

SELECT name 
FROM sqlite_master 
WHERE type = 'index'; 

Výsledek:

IFK_AlbumArtistIdsqlite_autoindex_PlaylistTrack_1IFK_CustomerSupportRepIdIFK_EmployeeReportsToIFK_InvoiceCustomerIdIFK_InvoiceLineInvoiceIdIFK_InvoiceLineTrackIdIFK_Ald 

Jednou z výhod použití této metody je, že můžete také vrátit tabulku, do které každý index patří. To je uloženo v tbl_name sloupec.

Příklad:

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

Návrat:

name 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 

  1. Jak vytvořit vnořenou tabulku jako databázový objekt v Oracle

  2. Oracle Wait Events, které by měl znát každý

  3. Správa uživatelských účtů, role, oprávnění, autentizace PHP a MySQL - 4. část

  4. FUNKCE DROP bez znalosti počtu/typu parametrů?