409 Stimmen

Alle Tabellennamen einer bestimmten Datenbank per SQL-Abfrage abrufen?

Ich arbeite an einer Anwendung, die mit mehreren Datenbankservern wie "MySQL" und "MS SQL Server" arbeiten kann.

Ich möchte die Tabellennamen einer bestimmten Datenbank mit einer allgemeinen Abfrage erhalten, die für alle Datenbanktypen geeignet sein sollte. Ich habe folgendes versucht:

SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE='BASE TABLE'

Aber es gibt Tabellennamen aller Datenbanken eines bestimmten Servers, aber ich möchte nur die Tabellennamen der ausgewählten Datenbank erhalten. Wie kann ich diese Abfrage einschränken, um Tabellen einer bestimmten Datenbank zu erhalten?

12voto

Lorenzo Lerate Punkte 3121

Verwenden Sie in mysql:

SHOW TABLES;

Nach Auswahl des DB mit:

USE db_name

11voto

AGR Punkte 231

Wenn jemand alle Tabellen einer bestimmten Datenbank auflisten möchte, ohne das Schlüsselwort "use" zu verwenden:

SELECT TABLE_NAME FROM databasename.INFORMATION_SCHEMA.TABLES

9voto

Dhiren Biren Punkte 434

Das funktioniert gut

SELECT * FROM information_schema.tables;

7voto

Tarit Ray Punkte 878

Wählen Sie die untenstehende Datenbankabfrage aus:

use DatabaseName

Jetzt

SELECT * FROM INFORMATION_SCHEMA.TABLES

Jetzt können Sie die erstellten Tabellen unten in der Konsole sehen.

PFA.

Query

7voto

Dario Cimmino Punkte 153

Ich habe diese Antwort nicht gesehen, aber hey, das ist, was ich tue:

SELECT name FROM databaseName.sys.Tables;

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X