Oversigt :i denne øvelse lærer du forskellige måder at vise tabeller fra en SQLite-database ved at bruge SQLite-kommandolinje-shell-programmet eller ved at forespørge data fra sqlite_master tabeller.
Viser tabeller ved hjælp af sqlite kommandolinje shell-program
For at vise tabeller i en database ved hjælp af sqlite kommandolinje shell-program, skal du følge disse trin:
Åbn først den database, som du vil vise tabellerne:
sqlite3 c:\sqlite\db\chinook.dbCode language: SQL (Structured Query Language) (sql)
Ovenstående sætning åbnede databasen med navnet chinook.db der findes i c:\sqlite\db bibliotek.
For det andet skal du skrive .tables kommando:
tablesCode language: SQL (Structured Query Language) (sql)
.tables kommandoen viser alle tabeller i chinook database
albums employees invoices playlists
artists genres media_types tracks
customers invoice_items playlist_trackCode language: SQL (Structured Query Language) (sql)
Bemærk, at begge .tables , .table have samme effekt. Derudover kommandoen .ta burde også virke.
.tables kommandoen kan også bruges til at vise midlertidige tabeller. Se følgende eksempel:
Først skal du oprette en ny midlertidig tabel med navnet temp_table1 :
CREATE TEMPORARY TABLE temp_table1( name TEXT );Code language: SQL (Structured Query Language) (sql) For det andet skal du liste alle tabeller fra databasen:
.tablesCode language: SQL (Structured Query Language) (sql) Følgende viser output:
albums employees invoices playlists
artists genres media_types temp.temp_table1
customers invoice_items playlist_track tracksCode language: SQL (Structured Query Language) (sql)
Fordi skemaet for midlertidige tabeller er temp , viste kommandoen navnene på skemaet og tabellen for den midlertidige tabel, såsom temp.temp_table1 .
Hvis du vil vise tabeller med det specifikke navn, kan du tilføje et matchende mønster:
.tables patternCode language: SQL (Structured Query Language) (sql)
Kommandoen fungerer på samme måde som LIKE operatør. Mønsteret skal være omgivet af enkelte anførselstegn ( ' ).
For at finde tabeller, hvis navne starter med bogstavet 'a', bruger du f.eks. følgende kommando:
.table 'a%'Code language: SQL (Structured Query Language) (sql) Her er outputtet:
albums artistsCode language: plaintext (plaintext)
For at vise de tabeller, hvis navn indeholder strengen ck , bruger du %ck% mønster som vist i følgende kommando:
.tables '%ck%'Code language: SQL (Structured Query Language) (sql) Udgangen er som følger:
playlist_track tracksCode language: SQL (Structured Query Language) (sql) Viser tabeller ved hjælp af SQL-sætning
En anden måde at liste alle tabeller i en database på er at forespørge på dem fra sqlite_schema tabel.
SELECT
name
FROM
sqlite_schema
WHERE
type ='table' AND
name NOT LIKE 'sqlite_%';Code language: SQL (Structured Query Language) (sql) Her er outputtet:
I denne forespørgsel frafiltrerede vi alle tabeller, hvis navne starter med sqlite_ såsom sqlite_stat1 og sqlite_sequence tabeller. Disse tabeller er systemtabeller, der administreres internt af SQLite.
Bemærk at SQLite ændrede tabellen sqlite_master til sqlite_schema .
I dette selvstudie har du lært, hvordan du viser alle tabeller i en database ved hjælp af .tables kommando eller ved at forespørge data fra sqlite_schema tabel.