SQLite
 sql >> Datenbank >  >> RDS >> SQLite

SQLite SHOW TABLES Äquivalent

SQLite hat kein SHOW TABLES Anweisung wie MySQL und MariaDB haben, aber es hat einen ähnlichen Befehl.

In SQLite können Sie die .tables verwenden Befehl, um eine Liste von Tabellen anzuzeigen. Alternativ können Sie die table_list verwenden Pragma, um die Arbeit zu erledigen.

Die .tables Befehl

In SQLite die .tables Der Befehl kommt wahrscheinlich dem SHOW TABLES von MySQL und MariaDB am nächsten Erklärung. Hier ist ein Beispiel:

.tables

Ergebnis:

Customers  Employees  Students   Teachers

Hier werden vier Tabellen zurückgegeben.

Die .tables Befehl fragt das sqlite_schema ab Tabelle für alle angeschlossenen Datenbanken. Es gibt sowohl Tabellen als auch Ansichten zurück. Wenn Sie Ansichten ausschließen möchten, können Sie das sqlite_schema abfragen Tabelle direkt. Ein Beispiel hierfür finden Sie unter 2 Möglichkeiten zum Auflisten der Tabellen in einer SQLite-Datenbank.

Oder wenn Tabellen und/oder Ansichten eine konsistente Namenskonvention haben (z. B. ein Präfix), dann könnten Sie sie einschließen/ausschließen, indem Sie ein Muster nach .tables anhängen Teil.

Hier ist ein Beispiel mit einem Muster:

.tables t%

Ergebnis:

Teachers

In diesem Fall habe ich t% verwendet als Muster, was zu allen Tabellen führte, die mit dem Buchstaben t beginnen zurückzusenden.

Die table_list Pragma

Ein weiteres potenzielles SHOW TABLES Äquivalent in SQLite ist die table_list Pragma:

PRAGMA table_list;

Ergebnis:

schema  name                type   ncol  wr  strict
------  ------------------  -----  ----  --  ------
main    Customers           table  2     0   0     
main    Employees           table  2     0   0     
main    Students            table  2     0   0     
main    Teachers            table  2     0   0     
main    sqlite_schema       table  5     0   0     
temp    sqlite_temp_schema  table  5     0   0     

Dies gibt mehr Informationen über jede Tabelle zurück als .tables Befehl. Sie können es auch auf eine bestimmte Datenbank oder sogar einen Tabellennamen eingrenzen.

Hier ist ein Beispiel für die Angabe der Datenbank:

PRAGMA main.table_list;

Ergebnis:

schema  name           type   ncol  wr  strict
------  -------------  -----  ----  --  ------
main    Customers      table  2     0   0     
main    Employees      table  2     0   0     
main    Students       table  2     0   0     
main    Teachers       table  2     0   0     
main    sqlite_schema  table  5     0   0     

Und eine gegebene Tabelle:

PRAGMA main.table_list(Customers);

Ergebnis:

schema  name       type   ncol  wr  strict
------  ---------  -----  ----  --  ------
main    Customers  table  2     0   0