MySQL・MariaDBの両方で使用することができる「mysql」コマンドのオプションを紹介します。
mysqlコマンドはMySQL・MariaDBのCUIで、
SQL文だけでなく強力なメタコマンドもある非常に便利なコマンドになります。
DBはインストールされている前提ですので、
MariaDB・MySQLのインストール方法は下の記事を参考にしてください。
LinuxへのMariaDBのインストールとデータベース作成
Linux上でMariaDBをインストールする手順とデータベース作成手順を紹介します。 MariaDBとは MySQLを元に作成されてオープンソースデータベース代表的なLinuxのディスト...
目次
DBへの接続関連オプション
データベースに接続する時に使用するオプションを紹介します。
オプション | 説明 |
---|---|
-D --database=db_name | 接続するデータベースを指定。-D オプションを指定しなくてもDBへは接続可能 |
-h --host=host_name | MySQL/MariaDBが稼働しているホスト名を指定 |
-u --user=user_name | データベースユーザ名を指定 |
-p[password] --password[=password] | データベースユーザのパスワードを指定 |
-S --socket=socket_file | 接続に使用するソケットファイルを指定 |
-P port_num --port=port_num | データベース接続時のTCP/IPポート番号を指定。デフォルトで”3060” |
--protocol=(TCP|SOCKET|PIPE|MEMORY) | 接続に使用するプロトコルを指定 |
-C, --compress | サーバー/クライアント間の通信を圧縮 |
補足ですが「-D」オプションを省略してもデータベース名を指定することが出来ます。
# -Dオプションを省略する
[root@test-server ~]# mysql testdb001 -u root -p -s
Enter password:
MariaDB [testdb001]>
# -Dオプションは指定する
[root@test-server ~]# mysql -D testdb001 -u root -p -s
Enter password:
MariaDB [testdb001]>
[MySQL/MariaDB] mysqlコマンドを使用した接続、”use”文で再接続の方法
「mysql」コマンドを使用した「MySQL」・「MariaDB」への接続方法を紹介します。 Linux環境前提で接続を行いますが、Unix、Windowsでも基本の構文パターンは変わりませ...
表示・出力結果を変更するオプション
表示・出力結果を変更するオプションを以下になります。
オプション | 説明 |
---|---|
--prompt=prompt_format | プロンプトの表示形式を指定 |
-t --table | 問い合わせ結果を表の形式で出力。デフォルト |
-N --skip-column_name | 問い合わせ結果に列名を出力しない |
-E --vertical | 問い合わせ結果に垂直表示 |
-H --html | 問い合わせ結果にHTMLフォーマットで表示 |
-X --xml | 問い合わせ結果にXMLフォーマットで表示 |
--tee=output_file | 問い合わせ結果をoutput_fileに書き込む。バッチ処理時は無効化される |
--pager[=pager_nome] | PAGERを指定する。Windowでは使用できない |
以下、表示・出力結果の例です。
# 表形式で表示デフォルト
MariaDB [testdb001]> select * from testdb001.tab001;
+------------+------------+
| col01 | col02 |
+------------+------------+
| 0000000001 | 0000000001 |
+------------+------------+
1 row in set (0.00 sec)
# 列名を非表示
MariaDB [testdb001]> select * from testdb001.tab001;
+------------+------------+
| 0000000001 | 0000000001 |
+------------+------------+
1 row in set (0.00 sec)
# 垂直表示
MariaDB [testdb001]> select * from testdb001.tab001;
*************************** 1. row ***************************
col01: 0000000001
col02: 0000000001
# HTML形式表示
MariaDB [testdb001]> select * from testdb001.tab001;
<TABLE BORDER=1><TR><TH>col01</TH><TH>col02</TH></TR><TR><TD>0000000001</TD><TD>0000000001</TD></TR></TABLE>MariaDB [testdb001]>
# XML形式表示
MariaDB [testdb001]> select * from testdb001.tab001;
<?xml version="1.0"?>
<resultset statement="select * from testdb001.tab001;" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<row>
<field name="col01">0000000001</field>
<field name="col02">0000000001</field>
</row>
</resultset>
実行を制御するオプション
オプション | 説明 |
---|---|
-q --quick | プロンプトの表示形式を指定 |
-U --safe-updates --i-am-a-dummy | WHERE句を設定しないとUPDATE、DELETEを実行できないようにする |
「-q」オプションを使用するとキャッシュせずに結果を1行づつ順に出力するため、
大量データを表示させる時に速度向上が見込めます。
ただし、ヒストリー機能が使えなくなるので注意してください。 「
-U」オプションを使用するとWHERE句を指定しないUPDATE、DELETE文が使用できなくなるので、
オペミスしてもデータが消えなくなります。
MariaDB & MySQL全機能バイブルposted with ヨメレバ
鈴木啓修/山田奈緒子 技術評論社 2015年01月