Heim >Datenbank >MySQL-Tutorial >Wie kann ich mit SQL Tabellennamen aus einer bestimmten Datenbank abrufen?

Wie kann ich mit SQL Tabellennamen aus einer bestimmten Datenbank abrufen?

Susan Sarandon
Susan SarandonOriginal
2025-01-09 07:28:44462Durchsuche

How Can I Retrieve Table Names from a Specific Database Using SQL?

SQL-Abfragen zum Abrufen von Tabellennamen aus einer bestimmten Datenbank

Datenbankadministratoren und Anwendungsentwickler müssen häufig eine Liste von Tabellennamen innerhalb einer bestimmten Datenbank abrufen. Der Ansatz variiert leicht je nach Datenbanksystem (z. B. MySQL, SQL Server, Oracle). Eine einzelne, universell kompatible Abfrage ist aufgrund von Unterschieden in den Datenbankschemastrukturen nicht möglich.

Die Herausforderung: Standardabfragen INFORMATION_SCHEMA geben häufig Tabellen aus allen Datenbanken auf dem Server zurück, nicht nur aus der gewünschten.

Die Lösung: Wir müssen der Abfrage einen datenbankspezifischen Filter hinzufügen.

Datenbankspezifische Abfragen:

  • SQL Server:
<code class="language-sql">SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE' AND TABLE_CATALOG = 'dbName'</code>
  • MySQL:
<code class="language-sql">SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE' AND TABLE_SCHEMA = 'dbName'</code>

Ersetzen Sie "dbName" durch den tatsächlichen Namen Ihrer Zieldatenbank.

  • Orakel:

Für Oracle ist der INFORMATION_SCHEMA Ansatz anders. So rufen Sie Tabellen für das Schema des aktuellen Benutzers ab:

<code class="language-sql">SELECT TABLE_NAME FROM USER_TABLES</code>

So geben Sie ein anderes Schema an (erfordert entsprechende Berechtigungen):

<code class="language-sql">SELECT TABLE_NAME FROM DBA_TABLES WHERE OWNER = '<schema_name>'</code>

Ersetzen Sie <schema_name> durch den Namen des Schemabesitzers.

Diese Informationen stellen anpassbare SQL-Lösungen zum Abrufen von Tabellennamen bereit und gewährleisten so die Kompatibilität zwischen verschiedenen Datenbankplattformen. Denken Sie daran, die Werte dbName oder schema_name an Ihre Umgebung anzupassen.

Das obige ist der detaillierte Inhalt vonWie kann ich mit SQL Tabellennamen aus einer bestimmten Datenbank abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn