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:
<code class="language-sql">SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' AND TABLE_CATALOG = 'dbName'</code>
<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.
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!