Podsumowanie :w tym samouczku nauczysz się różnych sposobów wyświetlania tabel z bazy danych SQLite za pomocą programu powłoki wiersza poleceń SQLite lub poprzez zapytanie o dane z sqlite_master
tabele.
Wyświetlanie tabel przy użyciu programu powłoki wiersza poleceń sqlite
Aby wyświetlić tabele w bazie danych za pomocą programu powłoki wiersza poleceń sqlite, wykonaj następujące czynności:
Najpierw otwórz bazę danych, w której chcesz wyświetlić tabele:
sqlite3 c:\sqlite\db\chinook.db
Code language: SQL (Structured Query Language) (sql)
Powyższe oświadczenie otworzyło bazę danych o nazwie chinook.db
który znajduje się w c:\sqlite\db
katalog.
Po drugie, wpisz .tables
polecenie:
tables
Code language: SQL (Structured Query Language) (sql)
.tables
polecenie wyświetla listę wszystkich tabel w chinook
baza danych
albums employees invoices playlists
artists genres media_types tracks
customers invoice_items playlist_track
Code language: SQL (Structured Query Language) (sql)
Zauważ, że obie .tables
, .table
mają ten sam efekt. Dodatkowo polecenie .ta
też powinien działać.
.tables
Polecenie może być również używane do wyświetlania tabel tymczasowych. Zobacz następujący przykład:
Najpierw utwórz nową tabelę tymczasową o nazwie temp_table1
:
CREATE TEMPORARY TABLE temp_table1( name TEXT );
Code language: SQL (Structured Query Language) (sql)
Po drugie, wypisz wszystkie tabele z bazy danych:
.tables
Code language: SQL (Structured Query Language) (sql)
Poniżej przedstawiono wyniki:
albums employees invoices playlists
artists genres media_types temp.temp_table1
customers invoice_items playlist_track tracks
Code language: SQL (Structured Query Language) (sql)
Ponieważ schemat tabel tymczasowych to temp
, polecenie pokazało nazwy schematu i tabeli tabeli tymczasowej, takie jak temp.temp_table1
.
Jeśli chcesz wyświetlić tabele o określonej nazwie, możesz dodać pasujący wzór:
.tables pattern
Code language: SQL (Structured Query Language) (sql)
Polecenie działa tak samo jak LIKE
operator. Wzorzec musi być ujęty w pojedyncze cudzysłowy ( '
).
Na przykład, aby znaleźć tabele, których nazwy zaczynają się na literę „a”, użyj następującego polecenia:
.table 'a%'
Code language: SQL (Structured Query Language) (sql)
Oto wynik:
albums artists
Code language: plaintext (plaintext)
Aby wyświetlić tabele, których nazwa zawiera ciąg ck
, używasz %ck%
wzór, jak pokazano w następującym poleceniu:
.tables '%ck%'
Code language: SQL (Structured Query Language) (sql)
Dane wyjściowe są następujące:
playlist_track tracks
Code language: SQL (Structured Query Language) (sql)
Wyświetlanie tabel za pomocą instrukcji SQL
Innym sposobem na wyświetlenie listy wszystkich tabel w bazie danych jest zapytanie o nie z sqlite_schema
tabela.
SELECT
name
FROM
sqlite_schema
WHERE
type ='table' AND
name NOT LIKE 'sqlite_%';
Code language: SQL (Structured Query Language) (sql)
Oto wynik:
W tym zapytaniu odfiltrowaliśmy wszystkie tabele, których nazwy zaczynają się od sqlite_
na przykład sqlite_stat1
i sqlite_sequence
tabele. Te tabele są tabelami systemowymi zarządzanymi wewnętrznie przez SQLite.
Zauważ, że SQLite zmienił tabelę sqlite_master
do sqlite_schema
.
W tym samouczku nauczyłeś się wyświetlać wszystkie tabele w bazie danych za pomocą .tables
poleceniem lub przez zapytanie o dane z sqlite_schema
tabela.