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.db
Code 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:
tables
Code 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_track
Code 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:
.tables
Code 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 tracks
Code 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 pattern
Code 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 artists
Code 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 tracks
Code 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.