ホームページ >php教程 >PHP开发 >MySQL コマンドライン形式の出力

MySQL コマンドライン形式の出力

高洛峰
高洛峰オリジナル
2016-12-14 10:59:431473ブラウズ

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 の結果はファイルに追加されるため、ログ ファイルを定期的にクリアする必要があります。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。