2010-11-10 20 views
5

Ho questo file di database nella solita cartella dei database e un mucchio di tabelle al suo interno.Recupera un elenco di tutte le tabelle nel database

Si prega di notare che non voglio recuperare sotto la riga di comando. So che posso usare il comando ".tables".

Voglio recuperare un elenco di tutte le tabelle in esso contenute, utilizzando il codice, in modo che sia possibile eseguire algoritmi specifici su ciascuna di esse.

Inoltre, non ho trovato alcuna domanda con questo problema su Android, quindi per favore perdonami se ce n'è. Mi chiedevo se c'è qualche funzione che posso usare sotto DatabaseUtils, ma non ho trovato nessuno dei due.

risposta

14

Usa

select name from sqlite_master where type = 'table' 
+0

La ringrazio molto. Aggiungendo solo alla risposta, ho notato che ci sono due colonne con gli stessi valori per sqlite_master, almeno su Android: name e tbl_name. Ho visto su Google qualcosa su di loro (tbl_name, in particolare) è lo stesso per le tabelle, solo per essere diverso (nome) per altre cose. Quindi dovrei essere sicuro di leggere da tbl_name ogni volta che voglio recuperare il nome della tabella, giusto? – davidcesarino

+1

No, dovresti attenersi a "nome". –

+0

da https://www.sqlite.org/faq.html ... Per gli indici [...] nome è il nome dell'indice e tbl_name è il nome della tabella a cui appartiene l'indice. –

Problemi correlati