MySQL は、データのストレージと開発で広く使用されているリレーショナル データベース管理システム (RDBMS) です。
MySQL を使用する場合、すべてのテーブルからデータをクエリするのは非常に一般的な操作です。この記事では、読者の便宜のために 2 つの一般的な方法を紹介します。
方法 1: SHOW TABLES を使用してテーブル名をクエリし、次に SELECT * FROM を使用してテーブル データをクエリします
ステップ 1: SHOW TABLES を使用してすべてのテーブルの名前をクエリします
SHOW を使用する TABLES コマンドは、MySQL 内のすべてのテーブルの名前をクエリできます。
サンプルコード:
SHOW TABLES;
上記のコードを実行すると、データベース内のすべてのテーブル名が出力されます。
2 番目のステップ: SELECT * FROM を使用してテーブル データをクエリする
最初のステップですべてのテーブルの名前を取得した後、SELECT * FROM コマンドを使用して各テーブルのすべてのテーブルをクエリできます。データ。
サンプルコード:
SELECT * FROM 表名;
上記の「テーブル名」をクエリするテーブルの名前に置き換えてください。
上記のコードを実行すると、テーブル内のすべてのデータが出力されます。
上記の方法は単純ですが、テーブルごとに個別のクエリが必要になるため、テーブルの数が非常に多い場合、この方法は現実的ではありません。
次に、2 番目の方法を使用できます。
方法 2: 情報スキーマを使用して MySQL のすべてのテーブルのデータをクエリする
MySQL には、information_schema という特別なデータベースがあり、これには MySQL のすべてのテーブルに関する情報が含まれています。
information_schema データベースにクエリを実行すると、すべてのテーブルに関する詳細情報を取得できます。
サンプルコード:
SELECT TABLE_NAME FROM information_schema.Tables WHERE TABLE_SCHEMA='数据库名称';
「データベース名」をクエリするデータベースの名前に置き換えてください。
上記のコードを実行すると、データベース内のすべてのテーブルの名前が出力されます。
次に、すべてのテーブルのデータを走査して出力するループ ステートメントを記述します。
サンプルコード:
SET group_concat_max_len=250000; SELECT GROUP_CONCAT( CONCAT('SELECT * FROM ', TABLE_NAME) SEPARATOR ' UNION ALL ') FROM information_schema.Tables WHERE TABLE_SCHEMA='数据库名称';
「データベース名」をクエリするデータベースの名前に置き換えてください。
上記のコードを実行すると、非常に長いSQL文が出力されます。このステートメントを SQL クライアントまたは MySQL コマンド ラインにコピーし、実行してすべてのテーブルからデータを取得します。
上記の方法は、比較的単純なデータのクエリにのみ適していることに注意してください。複雑なデータ クエリやその他の操作を実行する必要がある場合は、注意して使用してください。
結論
上記の 2 つの方法を使用すると、MySQL 内のすべてのテーブルのデータをクエリするのが非常に簡単になります。 2 番目の方法は最初の方法よりも直接的かつ効率的であるため、大量のデータを処理する場合は情報モード クエリを優先する必要があります。
以上がすべてのテーブルからの mysql クエリ データの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。