ホームページ > データベース > mysql チュートリアル > SQL を使用して特定のデータベースからテーブル名を取得するにはどうすればよいですか?

SQL を使用して特定のデータベースからテーブル名を取得するにはどうすればよいですか?

Susan Sarandon
リリース: 2025-01-09 07:28:44
オリジナル
382 人が閲覧しました

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

特定のデータベースからテーブル名を取得する SQL クエリ

多くの場合、データベース管理者やアプリケーション開発者は、特定のデータベース内のテーブル名のリストを取得する必要があります。 このアプローチはデータベース システム (MySQL、SQL Server、Oracle など) に応じて若干異なります。 データベース スキーマ構造の違いにより、単一の普遍的な互換性のあるクエリは不可能です。

課題: 標準の INFORMATION_SCHEMA クエリは、多くの場合、目的のデータベースだけでなく、サーバー上の すべて のデータベースからテーブルを返します。

解決策: データベース固有のフィルターをクエリに追加する必要があります。

データベース固有のクエリ:

  • SQL サーバー:
<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>
ログイン後にコピー

"dbName" をターゲット データベースの実際の名前に置き換えます。

  • オラクル:

Oracle の場合、INFORMATION_SCHEMA アプローチは異なります。 現在のユーザーのスキーマのテーブルを取得するには:

<code class="language-sql">SELECT TABLE_NAME FROM USER_TABLES</code>
ログイン後にコピー

別のスキーマを指定するには (適切な権限が必要です):

<code class="language-sql">SELECT TABLE_NAME FROM DBA_TABLES WHERE OWNER = '<schema_name>'</code>
ログイン後にコピー

<schema_name> をスキーマ所有者の名前に置き換えます。

この情報は、テーブル名を取得するための適応可能な SQL ソリューションを提供し、さまざまなデータベース プラットフォーム間での互換性を確保します。環境に合わせて dbName または schema_name の値を忘れずに調整してください。

以上がSQL を使用して特定のデータベースからテーブル名を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート