1

私は主に MySQL GUI ツールを使用しています。これにより、テーブルで結果を簡単に確認できるだけでなく、頻繁に実行されるクエリをすばやく編集してブックマークすることができます。これは、コマンドラインよりもはるかに私のニーズに合っています。

何年も前に Oracle DB でこれを行っていたときは、クエリ自体に変数を入れることができたので、クエリを実行すると変数の入力を求められました。

例えば

select email from users where login = [VAR]

クエリを実行すると、システムから VAR の入力が求められます。入力john_smith14すると、クエリが実行されます。これは、頻繁に実行するアドホック クエリに非常に役立ちます。

はい、シェル スクリプトとコマンド ラインを使用すると、これをより簡単に実行できることはわかっていますが、これ以外にもいくつかの理由から、シェル スクリプトは私にとって良い解決策ではありません。

4

3 に答える 3

1

わかりました、ビルが正しいように見えるので、別の解決策です(私の他の回答のコメントを読んでください)。

右下の Params タブで、「Local Params」フォルダーを右クリックして、新しいパラメーターを追加できます。「myTest」などの名前を付けます。最初は NULL の値が与えられます。NULL をダブルクリックし、新しい値を入力します。

これで、次のようにクエリでアクセスできます。

SELECT email FROM users WHERE login = :myTest;

これをセッション間 (クエリ ブラウザーを開いたり閉じたり) に維持するには、ローカル パラメーターではなくグローバル パラメーターにします。これは、MySQL サーバーを再起動しても機能します。

于 2008-11-25T12:47:09.317 に答える
0

この場合、準備済みステートメントを使用すると便利です。

PREPARE query1 FROM ユーザーからのメールを選択します。

次に、変数を使用して実行します。

SET @a = 'ジョン';
EXECUTE query1 USING @a;

このステートメントは、セッション全体で存在し、切断すると削除されます。

これはかなりのオーバーヘッドのように思えるかもしれませんが、わずかに異なる値で同じクエリを何度も使用する場合に便利です。

http://dev.mysql.com/doc/refman/5.0/en/sql-syntax-prepared-statements.html

于 2008-11-25T13:48:00.083 に答える
0

GUI ツールで値の入力を求める方法があるかどうかはわかりませんが、MySQL で変数を使用できることは確かです。

SET @myVar='john_smith14';
SELECT email FROM users WHERE login = @myVar;

毎回変数値を入力し続ける必要がないので、それはあなたにもっと適しているかもしれません..?

于 2008-11-25T12:40:59.487 に答える