Shrnutí :v tomto tutoriálu se naučíte různé způsoby zobrazení tabulek z databáze SQLite pomocí shellového programu příkazového řádku SQLite nebo dotazováním na data z sqlite_master
tabulky.
Zobrazení tabulek pomocí shellového programu příkazového řádku sqlite
Chcete-li zobrazit tabulky v databázi pomocí shellového programu příkazového řádku sqlite, postupujte takto:
Nejprve otevřete databázi, ve které chcete zobrazit tabulky:
sqlite3 c:\sqlite\db\chinook.db
Code language: SQL (Structured Query Language) (sql)
Výše uvedený příkaz otevřel databázi s názvem chinook.db
který se nachází v c:\sqlite\db
adresář.
Zadruhé zadejte .tables
příkaz:
tables
Code language: SQL (Structured Query Language) (sql)
.tables
příkaz vypíše všechny tabulky v chinook
databáze
albums employees invoices playlists
artists genres media_types tracks
customers invoice_items playlist_track
Code language: SQL (Structured Query Language) (sql)
Všimněte si, že obě .tables
, .table
mít stejný účinek. Navíc příkaz .ta
by také mělo fungovat.
.tables
příkaz lze také použít k zobrazení dočasných tabulek. Viz následující příklad:
Nejprve vytvořte novou dočasnou tabulku s názvem temp_table1
:
CREATE TEMPORARY TABLE temp_table1( name TEXT );
Code language: SQL (Structured Query Language) (sql)
Za druhé, vypište všechny tabulky z databáze:
.tables
Code language: SQL (Structured Query Language) (sql)
Následující zobrazuje výstup:
albums employees invoices playlists
artists genres media_types temp.temp_table1
customers invoice_items playlist_track tracks
Code language: SQL (Structured Query Language) (sql)
Protože schéma dočasných tabulek je temp
, příkaz zobrazil názvy schématu a tabulky dočasné tabulky, jako je temp.temp_table1
.
Pokud chcete zobrazit tabulky s konkrétním názvem, můžete přidat odpovídající vzor:
.tables pattern
Code language: SQL (Structured Query Language) (sql)
Příkaz funguje stejně jako LIKE
operátor. Vzor musí být ohraničen jednoduchými uvozovkami ( '
).
Chcete-li například najít tabulky, jejichž názvy začínají písmenem ‚a‘, použijte následující příkaz:
.table 'a%'
Code language: SQL (Structured Query Language) (sql)
Zde je výstup:
albums artists
Code language: plaintext (plaintext)
Zobrazí tabulky, jejichž název obsahuje řetězec ck
, použijete %ck%
vzor, jak je znázorněno v následujícím příkazu:
.tables '%ck%'
Code language: SQL (Structured Query Language) (sql)
Výstup je následující:
playlist_track tracks
Code language: SQL (Structured Query Language) (sql)
Zobrazení tabulek pomocí příkazu SQL
Dalším způsobem, jak vypsat seznam všech tabulek v databázi, je dotazovat je z sqlite_schema
tabulka.
SELECT
name
FROM
sqlite_schema
WHERE
type ='table' AND
name NOT LIKE 'sqlite_%';
Code language: SQL (Structured Query Language) (sql)
Zde je výstup:
V tomto dotazu jsme odfiltrovali všechny tabulky, jejichž názvy začínají sqlite_
například sqlite_stat1
a sqlite_sequence
tabulky. Tyto tabulky jsou systémové tabulky spravované interně SQLite.
Všimněte si, že SQLite změnil tabulku sqlite_master
na sqlite_schema
.
V tomto tutoriálu jste se naučili, jak zobrazit všechny tabulky v databázi pomocí .tables
nebo dotazem na data ze sqlite_schema
tabulka.