Sammanfattning :i den här handledningen kommer du att lära dig olika sätt att visa tabeller från en SQLite-databas genom att använda SQLites kommandoradsskalprogram eller genom att fråga data från sqlite_master
tabeller.
Visar tabeller med kommandoradsskalprogrammet sqlite
För att visa tabeller i en databas med kommandoradsskalprogrammet sqlite följer du dessa steg:
Öppna först databasen som du vill ska visa tabellerna:
sqlite3 c:\sqlite\db\chinook.db
Code language: SQL (Structured Query Language) (sql)
Ovanstående uttalande öppnade databasen med namnet chinook.db
som finns i c:\sqlite\db
katalog.
För det andra, skriv .tables
kommando:
tables
Code language: SQL (Structured Query Language) (sql)
.tables
kommandot listar alla tabeller i chinook
databas
albums employees invoices playlists
artists genres media_types tracks
customers invoice_items playlist_track
Code language: SQL (Structured Query Language) (sql)
Observera att båda .tables
, .table
har samma effekt. Dessutom kommandot .ta
borde fungera också.
.tables
kommandot kan också användas för att visa tillfälliga tabeller. Se följande exempel:
Skapa först en ny temporär tabell med namnet temp_table1
:
CREATE TEMPORARY TABLE temp_table1( name TEXT );
Code language: SQL (Structured Query Language) (sql)
För det andra, lista alla tabeller från databasen:
.tables
Code language: SQL (Structured Query Language) (sql)
Följande visar utdata:
albums employees invoices playlists
artists genres media_types temp.temp_table1
customers invoice_items playlist_track tracks
Code language: SQL (Structured Query Language) (sql)
Eftersom schemat för temporära tabeller är temp
, visade kommandot namnen på schemat och tabellen för den temporära tabellen som temp.temp_table1
.
Om du vill visa tabeller med det specifika namnet kan du lägga till ett matchande mönster:
.tables pattern
Code language: SQL (Structured Query Language) (sql)
Kommandot fungerar på samma sätt som LIKE
operatör. Mönstret måste omges av enkla citattecken ( '
).
Till exempel, för att hitta tabeller vars namn börjar med bokstaven 'a' använder du följande kommando:
.table 'a%'
Code language: SQL (Structured Query Language) (sql)
Här är resultatet:
albums artists
Code language: plaintext (plaintext)
För att visa tabellerna vars namn innehåller strängen ck
, använder du %ck%
mönster som visas i följande kommando:
.tables '%ck%'
Code language: SQL (Structured Query Language) (sql)
Utgången är som följer:
playlist_track tracks
Code language: SQL (Structured Query Language) (sql)
Visar tabeller med SQL-sats
Ett annat sätt att lista alla tabeller i en databas är att fråga dem från sqlite_schema
bord.
SELECT
name
FROM
sqlite_schema
WHERE
type ='table' AND
name NOT LIKE 'sqlite_%';
Code language: SQL (Structured Query Language) (sql)
Här är resultatet:
I den här frågan filtrerade vi bort alla tabeller vars namn börjar med sqlite_
som sqlite_stat1
och sqlite_sequence
tabeller. Dessa tabeller är systemtabeller som hanteras internt av SQLite.
Observera att SQLite ändrade tabellen sqlite_master
till sqlite_schema
.
I den här självstudien har du lärt dig hur du visar alla tabeller i en databas med hjälp av .tables
kommandot eller genom att fråga data från sqlite_schema
bord.