Riepilogo :in questo tutorial imparerai vari modi per mostrare le tabelle da un database SQLite usando il programma della shell della riga di comando SQLite o interrogando i dati da sqlite_master
tabelle.
Mostrare le tabelle usando il programma shell della riga di comando sqlite
Per mostrare le tabelle in un database usando il programma della shell della riga di comando sqlite, segui questi passaggi:
Innanzitutto, apri il database di cui desideri visualizzare le tabelle:
sqlite3 c:\sqlite\db\chinook.db
Code language: SQL (Structured Query Language) (sql)
La dichiarazione precedente ha aperto il database denominato chinook.db
che si trova nel c:\sqlite\db
directory.
In secondo luogo, digita .tables
comando:
tables
Code language: SQL (Structured Query Language) (sql)
Le .tables
comando elenca tutte le tabelle nel chinook
banca dati
albums employees invoices playlists
artists genres media_types tracks
customers invoice_items playlist_track
Code language: SQL (Structured Query Language) (sql)
Nota che entrambi .tables
, .table
avere lo stesso effetto. Inoltre, il comando .ta
dovrebbe funzionare anche tu.
Le .tables
il comando può essere utilizzato anche per mostrare le tabelle temporanee. Vedi il seguente esempio:
Innanzitutto, crea una nuova tabella temporanea denominata temp_table1
:
CREATE TEMPORARY TABLE temp_table1( name TEXT );
Code language: SQL (Structured Query Language) (sql)
In secondo luogo, elenca tutte le tabelle dal database:
.tables
Code language: SQL (Structured Query Language) (sql)
Quanto segue mostra l'output:
albums employees invoices playlists
artists genres media_types temp.temp_table1
customers invoice_items playlist_track tracks
Code language: SQL (Structured Query Language) (sql)
Perché lo schema delle tabelle temporanee è temp
, il comando mostrava i nomi dello schema e della tabella della tabella temporanea come temp.temp_table1
.
Se vuoi mostrare le tabelle con il nome specifico, puoi aggiungere un modello di corrispondenza:
.tables pattern
Code language: SQL (Structured Query Language) (sql)
Il comando funziona come LIKE
operatore. Il modello deve essere racchiuso tra virgolette singole ( '
).
Ad esempio, per trovare tabelle i cui nomi iniziano con la lettera 'a', utilizzare il seguente comando:
.table 'a%'
Code language: SQL (Structured Query Language) (sql)
Ecco l'output:
albums artists
Code language: plaintext (plaintext)
To mostra le tabelle il cui nome contiene la stringa ck
, usi il %ck%
pattern come mostrato nel comando seguente:
.tables '%ck%'
Code language: SQL (Structured Query Language) (sql)
L'output è il seguente:
playlist_track tracks
Code language: SQL (Structured Query Language) (sql)
Mostrare tabelle usando l'istruzione SQL
Un altro modo per elencare tutte le tabelle in un database è interrogarle da sqlite_schema
tabella.
SELECT
name
FROM
sqlite_schema
WHERE
type ='table' AND
name NOT LIKE 'sqlite_%';
Code language: SQL (Structured Query Language) (sql)
Ecco l'output:
In questa query, abbiamo filtrato tutte le tabelle i cui nomi iniziano con sqlite_
come sqlite_stat1
e sqlite_sequence
tavoli. Queste tabelle sono le tabelle di sistema gestite internamente da SQLite.
Nota che SQLite ha cambiato la tabella sqlite_master
a sqlite_schema
.
In questo tutorial, hai imparato a mostrare tutte le tabelle in un database utilizzando .tables
comando o interrogando i dati da sqlite_schema
tabella.