2016-03-31 12 views
0

私はすべてのテーブルの完全なデータベースで検索することができるクエリを構築したい。検索完全なデータベース

Ex。 検索文字列:9049 結果この文字列が一致するすべてのテーブルから検索結果が必要です。 単にテーブルのすべてのフィールドにLIKEを書き込むことはできません。

ありがとうございました。

+0

データベースとやりとりするプラットフォーム/ツールは何ですか? –

+0

@SantoshRamKunjir Nop。私は特定のフィールドだけの検索を使用するまでの時間。これは私が直面した最初のことです。何をすべきか理解していない。 –

+0

@AshwaniGoyal codeigniter PHPフレームワーク。 –

答えて

0

データベース(およびそのデータ)のSQLDumpを実行して、そのファイルを検索することができます。 または information_schemaテーブルを調べることができます。これには、すべてのテーブルとテーブル内のすべてのフィールドのリストがあります。このテーブルから取得した情報を使用してクエリを実行できます。

0

あなたが最初にすべてのテーブルを読み出すことができます:

SELECT table_name FROM information_schema.tables WHERE table_schema = 'yourdatabasename' 

、その後、すべてのテーブルをループし、すべての列を取得:

SELECT column_name FROM information_schema.columns 
WHERE table_schema = 'yourdatabasename' AND table_name = 'thetablenamefromyourloop' 

をして、動的ステートメント・ザッツはWHEREを構築構築あなたのsearchtermに基づく句。

またはすべての情報を取得するだけですべてを読み取ることができます。これには、すべてのテーブルとカラムに関するすべての情報が含まれています。これは、すべてのvarcharフィールドとテキストフィールドを検索するのに便利です。

SELECT * FROM information_schema.columns 
WHERE table_schema = 'yourdatabasename' 
関連する問題