MySQL のクライアント コマンド ライン ツールには多くの使いやすい機能があり、ある側面では Oracle の sqlplus よりも使いやすいとさえ言えます。もちろん、全体的には sqlplus の方が便利です。それは私が sqlplus に慣れているからかもしれません。ここでは、MySQL コマンド ラインでよく使用される機能をいくつか紹介します。
1. G を使用して結果を行ごとに垂直に表示します
行が非常に長く、この行を表示する必要がある場合、結果は非常に見苦しくなります。各行の値を垂直方向に出力するには、SQL ステートメントまたはコマンドの後にセミコロンの代わりに G を使用します。これは、MySQL を他のデータベース ツールと区別する、誰もが最もよく知っている機能でもあります。
mysql> select * from db_archivelog\G *************************** 1. row *************************** id: 1 check_day: 2008-06-26 db_name: TBDB1 arc_size: 137 arc_num: 166 per_second: 1.6 avg_time: 8.7
2. ページャーを使用して表示方法を設定します
選択した結果セットが数画面を超えると、前の結果があっという間に過ぎてしまい、見ることができなくなります。ページャーを使用すると、クエリ結果を表示するために OS で多かれ少なかれ呼び出しを設定できます。これは、大きなファイルを表示するために OS で多かれ少なかれを使用するのと同じ効果があります。
より多く使用
mysql> pager more PAGER set to ‘more’ mysql> P more PAGER set to ‘more’
使用を少なく
mysql> pager less PAGER set to ‘less’ mysql> P less PAGER set to ‘less’
して標準出力に復元します
mysql> nopager PAGER set to stdout
3. teeを使用して実行結果をファイルに保存します
これは、結果をファイルに保存できるsqlplusのスプール機能に似ています。コマンドラインから外部ファイルへ。既存のファイルを指定した場合、結果はそのファイルに追加されます。
mysql> tee output.txt Logging to file ‘output.txt’
または
mysql> T output.txt Logging to file ‘output.txt’ mysql> notee Outfile disabled.
または
mysql> t Outfile disabled
4. OS コマンドを実行します
mysql> system uname Linux mysql> ! uname Linux
5. SQL ファイルを実行します
mysql> source test.sql +—————-+ | current_date() | +—————-+ | 2008-06-28 | +—————-+ 1 row in set (0.00 sec)
または
mysql> . test.sql +—————-+ | current_date() | +—————-+ | 2008-06-28 | +—————-+ 1 row in set (0.00 sec)
ヘルプまたはを通じて MySQL コマンドラインでサポートされているいくつかのコマンドを取得できます。 ?
上記のトピックを続けて、mysql コマンドラインに関するいくつかのヒントを紹介します
1. 結果を HTML 形式で出力します
mysql クライアントのパラメーター –html または -T を使用すると、すべての SQL クエリ結果が HTML テーブルとして自動的に生成されます。コード
$ mysql -uroot –html Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 3286 Server version: 5.1.24-rc-log MySQL Community Server (GPL) Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the buffer. mysql> select * from test.test; 2 rows in set (0.00 sec)
2. 結果を XML 形式で出力します
上記と同様に、結果を XML 形式で出力するには –xml または -X オプションを使用します
$ mysql -uroot –xml Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 3287 Server version: 5.1.24-rc-log MySQL Community Server (GPL) Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the buffer. mysql> select * from test.test; 2 rows in set (0.00 sec)
3. コマンド プロンプトを変更します
の –prompt= オプションを使用しますmysql、または mysql と入力します。コマンド ライン環境でプロンプト コマンドを使用してプロンプトを変更できます
mysql> prompt u@d> PROMPT set to ‘u@d>’ root@(none)>use mysql Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed root@mysql>
。u は現在接続しているユーザーを表し、d は現在接続しているデータベースを表します。その他のオプションについては、man mysql
こちらを参照してください。 MySQL コマンドラインでこれらのパラメータを設定するための設定ファイルを紹介します。
MySQL コマンドラインの一部の操作パラメータは、/etc/my.cnf 設定ファイルの [mysql] セクションを通じて設定できます。例:
[mysql] prompt=\u@\d \r:\m:\s> pager=’less -S’ tee=’/tmp/mysql.log’
プロンプト設定を通じてユーザー名、現在のデータベース、および現在時刻を表示します。構成ファイルでは二重スラッシュを使用するのが最善であることに注意してください。
root@poster 10:26:35>
ページャー設定を通じてクエリ結果を表示するには、less を使用します。行が長すぎると、MySQL の表示形式が乱雑に表示されます。行全体を表示したい場合は、G を使用して行を縦に出力することをお勧めします。もちろん、パラメータを追加して出力を制御することもできます。
tee は、MySQL 実行のすべての出力をログ ファイルに保存します。さらに、less -S を使用して非常に長い行を切り詰めた場合でも、結果全体がログに記録されます。プロンプトが表示されるので、各操作の時間をログ ファイルで確認することもできます。 tee の結果はファイルに追加されるため、ログ ファイルを定期的にクリアする必要があります。