2011-12-16 6 views
1

私にこれを与えるデータベースdata1があるとします:"show databases"クエリ結果セットからデータを賢明に操作する方法

show tables;


TABLE1

table2の

表3


は今の代わりに、個別に、私はに示す各データベースを経由する手順を作成したい "各テーブルから選択*" を実行します"データベースを表示する"; resultsetを実行し、そのデータベースの各テーブルからselect *を実行します。私は、結果セットをスクロールし、各データベース名を変数に保持し、同じ方法でそのデータベースの各テーブルにselect文を実行するカーソルを使用することを考えました。このケースでは、SELECT文とUPDATE文にカーソルを使用することしか認識していないので、誰かがカーソルを使用する方法を親切に助けてくれますか?

btw私はMYSQLを使用しています。

答えて

1

のinfromation_Schemaからクエリを取得することができます。擬似コードの一般的な戦略は次のとおりです。お気に入りのツール/プログラミング言語を使用してMySQLサーバに[MySQLサーバ上で実行されます括弧内の単語が(SQLコマンドとテーブル)です。]

Connectおよび:

-- (USE information_schema;) 

for db in (select distinct table_schema from tables;) 
do:  
    for table in (select table_name from tables where table_schema='$db';) 
    do: 
     select field,column,attribute from $table; 
    done 
done 

グッド運!

1

あなたは私はあなたがこれを行うなぜ尋ねる控えるよ代わりに「ショーdatbases」

+0

私はあなたにjessを手に入れませんでした。 Information_Schema自体は、mysql dbmsに関するシステム情報を保持するデータベースです。また、テーブル名、テーブルのカラムタイプ、およびそれらの名前を持つ "テーブル"テーブルを保持しています。私の懸念は、テーブル名を1つずつ取り出してSELECTそれらの質問。どのように私はそれを行うのですか? –

+0

あなたはshowの代わりにselectステートメントでこれを実行できるようになったので、カーソル –

関連する問題