SQL を使用して特定のデータベースからテーブル名を効率的に取得する
複数のデータベース サーバー (MySQL、MS SQL Server など) を管理するには、多くの場合、特定のデータベース情報を抽出する必要があります。 よくあるタスクは、指定されたデータベースからテーブル名のリストを取得することです。
一般的なクエリ:
<code class="language-sql">SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE'</code>
サーバー上のすべてのデータベースにわたるすべてのテーブルを取得します。多くの場合、結果を 1 つのデータベースに制限する必要があります。 このための正確な SQL 構文はデータベース システムによって異なります。
データベース固有のクエリ:
次の例は、特定のデータベースからテーブル名を取得する方法を示しています。
SQL サーバー:
<code class="language-sql">SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' AND TABLE_CATALOG='dbName'</code>
忘れずに "dbName"
をターゲット データベースの名前に置き換えてください。
MySQL:
<code class="language-sql">SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' AND TABLE_SCHEMA='dbName'</code>
"dbName"
を目的のデータベース名に置き換えます。
オラクル:
Oracle は少し異なるアプローチを使用します:
<code class="language-sql">SELECT TABLE_NAME FROM DBA_TABLES WHERE OWNER='dbName'</code>
ここで、"dbName"
はテーブルを所有するデータベース ユーザーを表します。 このクエリには適切な権限が必要であることに注意してください。
以上がSQL を使用して特定のデータベースからテーブル名を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。