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

高洛峰
リリース: 2016-12-14 10:59:43
オリジナル
1449 人が閲覧しました

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


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート