EnterpriseZine(エンタープライズジン)

EnterpriseZine(エンタープライズジン)

テーマ別に探す

第6回 MySQL事始 SQL文(3) 代表的なSQL関数

edited by DB Online   2011/08/17 07:00

コラム:ネットにつながずにマニュアルを見る

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'


著者プロフィール

  • 梶山隆輔(カジヤマリュウスケ)

    日本オラクル株式会社 MySQL Global Business Unit Asia Pacific & Japan担当 MySQL Principal Sales Consultant オラクル社において、MySQLのお客様環境への導入支援や製品の技術解説を担当するセールスコンサルタントチームのアジア太平洋地域リーダー。多国籍なMySQL部門にて、台湾、オーストラリア、インドに在籍するチームメンバーを束ね、アジア太平洋地域の25以上の国や地域でのMySQL普及やビジネスの拡大をミッションとする。  

バックナンバー

連載:MySQL事始

もっと読む

All contents copyright © 2007-2020 Shoeisha Co., Ltd. All rights reserved. ver.1.5