無料PHPプログラム

MySQL 5.1 リファレンスマニュアル :: 3 MySQL プログラムの使用 :: 3.3 プログラム・オプションの指定 :: 3.3.1 コマンドラインにおけるオプションの使用
« 3.3 プログラム・オプションの指定

3.3.2 オプションファイルの使用 »
Section Navigation      [Toggle]
  • 3.3 プログラム・オプションの指定
  • 3.3.1 コマンドラインにおけるオプションの使用
  • 3.3.2 オプションファイルの使用
  • 3.3.3 オプション指定のための環境変数の使用
  • 3.3.4 プログラム変数セットのためのオプション使用

3.3.1. コマンドラインにおけるオプションの使用

コマンドラインにおけるプログラムのオプションは次の法則に従って作動します。

  • オプションはコマンド名の後に置かれます。

  • オプション引数はその名前が短いか長いかに応じて、シングル、またはダブルダッシュで始まります。オプションの多くがこの両方を持ち合わせています。例えば、-?と--helpは MySQL でヘルプメッセージの表示を行うオプションのそれぞれのフォームにあたります。

  • オプション名は時にとてもデリケートなものでもあります。-vと-Vはどちらも正しく、それぞれ異なる意味を持っています。(-vは--verboseの、-Vは--versionの短縮形としての意味で使われます。)

  • オプションの中にはオプション名に続く値をとるものもあります。例えば、-h localhostまたは--host=localhostは MySQL がクライアントプログラムをホストしていることを示します。オプションの値はプログラムに MySQL が起動しているホストの名前を示します。

  • 値を持つ長いオプションにおいては、オプション名と値を‘=’印に従って切り離します。値を持つ短いオプションでのその値はオプション名の直後に続いているか、またはスペースが空いていますが、-hlocalhost と -h localhostは同等の意味を持っています。ここでの例外は、MySQL パスワードを指定するオプションの法則です。このオプションは --password=pass_val という長い形でか、--password という短い形で与えられます。後者の場合(パスワード値が与えられていない状態で)には、プログラムによってパスワードを入力するようにとのプロンプトが表示されます。パスワードオプションはまた、-ppass_val、もしくは-pという短い形で入力することも可能です。しかしこの場合、もし値が付属していれば間にスペースを入れずオプションの直後に値が来るようにしなければいけません。その理由は、もしオプションの後にスペースが入れば、プログラムはこれに続く引数がパスワード値なのか、または何か別の引数なのかを特定することができなくなくなるからです。従って、ここで例に挙げるふたつのコマンドはそれぞれが全く異なった意味を持っています。

    shell> mysql -ptest
    shell> mysql -p test
    

    初めのコマンドはtestのパスワード値を使用するためのmysqlを指示しますが、初期設定データベースの特定は行いません。これとは異なり、もう一方はmysqlプロンプトでパスワード値を求めるように指示し、さらにtestを初期設定データベースとして使用します。

オプションのうちの数種はオン、またはオフの切り替えをコントロールします。例えば、mysqlクライアントは、クエリから得られる結果の冒頭にカラム名の行を表示するか否かを決定するオプション--column-namesをサポートします。この作業は初期設定において可能です。けれども、データだけを読み取り初期ヘッダーラインを読み取らないようなプログラムにmysqlが出力された場合などは、この機能を無効にすることも可能です。

列名を無効にするには次のオプションのうちのいずれかを指定します。

--disable-column-names
--skip-column-names
--column-names=0

--disableと--skipの頭部と末尾=0は全て同じ働きをします。つまり、オプションをオフに切り替えます。

オプションを「enabled」に切り替えるためには、次のうちのいずれかを指定する必要があります。

--column-names
--enable-column-names
--column-names=1

もし頭部が--looseのオプションがあれば、もしプログラムがオプションを認知できない場合でもエラーで終了せず、ただ警告を発します。

shell> mysql --loose-no-such-option
mysql: WARNING: unknown option '--no-such-option'

この --loose はMySQLを同じコンピュータ上に複数回インストールした状態でプログラムを立ち上げ、オプションファイルにオプションをリストアップする時に役立ちます。 全てのバージョンには認知されないようなオプションでも --loose またはオプションファイル内では loose を入力することによって使用可能になります。オプションを認知できるバージョンでは通常通りに処理され、そうでないバージョンでは警告が表示され、そして無視されます。

その他のオプションの中で場合によってはmysqlとともに便利に働くのが--execute、または-eで、SQLステートメントをサーバに送り届けます。ステートメントはシングル、またはダブルの引用符で囲まれている必要があります。もしこの引用符内の値を使用したい場合には、ステートメントにダブルの引用符を使用し、シングルの引用符をステートメント内の値のうちのいづれかに使用します。このオプションが使用される際には、mysqlがステートメントを実行し、その後終了します。

ここで例として、次のコマンドをユーザアカウントのリスト取得のために使うことにしましょう。

shell> mysql -u root -p --execute="SELECT User, Host FROM user" mysql
Enter password: ******
+------+-----------+
| User | Host      |
+------+-----------+
|      | gigan     |
| root | gigan     |
|      | localhost |
| jon  | localhost |
| root | localhost |
+------+-----------+
shell>

長い形のタイプ(--execute)の後ろにはイコール(=)が続いている事を確認します。

上記の例ではmysqlデータベースの名前は個別の引数として認められています。しかし、同じステートメントを初期設定データベースをしていしないコマンドを使用して実行することも可能です。

mysql> mysql -u root -p --execute="SELECT User, Host FROM mysql.user"

複数のSQLステートメントはセミコロンによって切り離され、コマンドライン上に認められることもあります。

shell> mysql -u root -p -e "SELECT VERSION();SELECT NOW()"
Enter password: ******
+-----------------+
| VERSION()       |
+-----------------+
| 5.1.5-alpha-log |
+-----------------+
+---------------------+
| NOW()               |
+---------------------+
| 2006-01-05 21:19:04 |
+---------------------+

オプション--execute、または-eは、アナログ形式のコマンドをMySQLクラスターへのndb_mgm管理クライアントへと届けるために使用されることもあります。例については 項14.3.6. 「安全なシャットダウンと再起動」を参照してください。

Copyright c 1997, 2010, Oracle and/or its affiliates. All rights reserved. Legal Notices
Top / Previous / Next / Up / Table of Contents
© 2010, Oracle Corporation and/or its affiliates

無料CGI PHPスクリプト | 新着情報スクリプト | 営業日カレンダー | PHPマニュアル | MySQLマニュアル | PEARマニュアル

Copyright (c) 2010 jmcodex.com All rights reserved.