コラム:ネットにつながずにマニュアルを見る
MySQLサーバにはSQL関数や構文に関するヘルプ(英語)が用意されています。インターネット上のマニュアルをダウンロードしておく手もありますが、データセンターなどで急にコマンドを打って確認しなければいけない場合になど便利です。ヘルプを使用するにはmysqlクライアントから以下の構文を利用します。
help 参照したい内容
例えば万が一SELECT文のORDER BYが先かGROUP BYが先かなどで悩んだ場合などは以下のコマンドで確認できます。
help SELECT
ちなみに、helpだけを実行すると、mysqlクライアント単独で実行できるコマンドや出力形式の変更などのオプションが確認できます。
mysql> help For information about MySQL products and services, visit: http://www.mysql.com/ For developer information, including the MySQL Reference Manual, visit: http://dev.mysql.com/ To buy MySQL Enterprise support, training, or other products, visit: https://shop.mysql.com/ List of all MySQL commands: Note that all text commands must be first on line and end with ';' ? (\?) Synonym for `help'. clear (\c) Clear the current input statement. ...<略>... system (\!) Execute a system shell command. tee (\T) Set outfile [to_outfile]. Append everything into given outfile. use (\u) Use another database. Takes database name as argument. charset (\C) Switch to another charset. Might be needed for processing binlog with multi-byte charsets. warnings (\W) Show warnings after every statement. nowarning (\w) Don't show warnings after every statement. For server side help, type 'help contents'
どのような内容が指定できるかの確認には、まずhelp contentsを実行します。
mysql> help contents You asked for help about help category: "Contents" For more information, type 'help- ', where
- is one of the following categories: Account Management Administration Compound Statements Data Definition Data Manipulation Data Types ...<略>... Utility
CREATE TABLE文などを含むData Definitionや、データ型の解説を行うData Typesなどが指定できることが分かります。 ここでは、今回開設したフロー制御関数にどのようなものがあるか、またフロー制御関数のIFはどのような構文なのかを以下のコマンドで確認しています。
mysql> help functions You asked for help about help category: "Functions" For more information, type 'help- ', where
- is one of the following topics: PROCEDURE ANALYSE categories: Bit Functions Comparison operators Control flow functions ...<略>... String Functions mysql> help Control flow functions You asked for help about help category: "Control flow functions" For more information, type 'help
- ', where
- is one of the following topics: CASE OPERATOR IF FUNCTION IFNULL NULLIF mysql> help IF FUNCTION Name: 'IF FUNCTION' Description: Syntax: IF(expr1,expr2,expr3) If expr1 is TRUE (expr1 <> 0 and expr1 <> NULL) then IF() returns expr2; otherwise it returns expr3. IF() returns a numeric or string value, depending on the context in which it is used. URL: http://dev.mysql.com/doc/refman/5.5/en/control-flow-functions.html Examples: mysql> SELECT IF(1>2,2,3); -> 3 mysql> SELECT IF(1<2,'yes','no'); -> 'yes' mysql> SELECT IF(STRCMP('test','test1'),'no','yes'); -> 'no'