Open Source WEB

5.0 の新機能

バージョンが4から5に上がったということは、大きな機能アップなどが なければならない。 どんな機能が追加されたかは、MySQL Users Conference 2005 で、 何度となく紹介された。

私は、5.0 In Depth というセッションに参加し、資料ももらったので、 そこから抜粋しよう。

5.0 の目玉は次の4つである。

  • Stored Procedure
  • Views
  • Triggers
  • Cursors

Cursorsはともかく、最初の3つは大変重要な機能アップだと思う。 しかし、色々説明された中で、日本語に関係ある新機能は見当たらなかった。 だから、「MySQL日本語の旅」では、これらの 5.0 の目玉とも言えるものについては説明はしない。 そもそも私が使っていないし、MySQL5.0の一般的なことについては、 http://www.mysql.com/ とかで調べて欲しい。 日本語のページも存在するが、5.0についての情報はほぼ皆無だと思う。 誰か日本語に訳してくれると私だけでなく、 たぶん他の大勢の人々も助かるのだが誰かいませんかね。


日本語関連の新機能

しかし、色々説明された中で、日本語に関係ある新機能はほとんどない。

日本語の利用に関して一番大きい変更は、 5.0.4のインストールと動作確認で言及した Windows版の SJIS と UJIS だけかも知れない。

この追加は色々な意味を含んでいて、とても重要であるので、 ここでちょっと書くのではなく、キャラクタセット関連のところで、 延々と書いていこうと思っている。キャラクタセット変換 (あるいはコード変換)のところで色々問題になるのである。 もちろん、この追加によって解決された問題もある。

それ以外に、マルチバイト対応が進んでいるかも知れない。 文字列処理関係の多数の関数などで、 そのあたりがどこまでちゃんとなったか注意してみよう。


SHOW で WHERE が使えて便利になった

色々MySQLの情况を把握するために、SHOWを非常に良く利用する。 SHOWで条件をつけるのに、4.1までは LIKE によるパターンマッチしかなかった。 これでは、非常に制約がきつい。

5.0.3から、SHOW で WHEREが使えるようになったのである。 オンラインマニュアルの MySQL Reference Manual :: D.1.4 Changes in release 5.0.3 (23 Mar 2005: Beta) の中に以下の記述がある。

SHOW DATABASES, SHOW TABLES, SHOW COLUMNS, and so forth display
information about the INFORMATION_SCHEMA database. Also, several
SHOW statements now accept a WHERE clause specifying which output
rows to display. See Chapter 22, The INFORMATION_SCHEMA Information 
Database.

つまり、SHOW全てではないらしいが、WHEREを付けられるようになったらしい。

実際的な説明は、リンクを辿って MySQL Reference Manual :: 22.2 Extensions to SHOW Statements に辿り着けば、後で示すマルチバイト対応のキャラクタセットをリストアップ する例などが見つかる。

マニュアルのSHOWのところでちゃんと説明が追加されているのが 当然だと思うが、英語版でもまだそこまでは改訂されていないので、 うっかりしていると気がつかないままになりがちだ。 せっかく良い機能を追加したのに。

と言う訳で、

mysql> SHOW CHARACTER SET WHERE Description LIKE '%Japanese';
+---------+---------------------------+---------------------+--------+
| Charset | Description               | Default collation   | Maxlen |
+---------+---------------------------+---------------------+--------+
| ujis    | EUC-JP Japanese           | ujis_japanese_ci    |      3 |
| sjis    | Shift-JIS Japanese        | sjis_japanese_ci    |      2 |
| cp932   | SJIS for Windows Japanese | cp932_japanese_ci   |      2 |
| eucjpms | UJIS for Windows Japanese | eucjpms_japanese_ci |      3 |
+---------+---------------------------+---------------------+--------+
4 rows in set (0.00 sec)

が可能になったのである。

これでは有効性がイマイチだろうから、 マルチバイト対応のキャラクタセットを取りだしてみよう。

mysql> SHOW CHARACTER SET WHERE Maxlen > 1;
+---------+---------------------------+---------------------+--------+
| Charset | Description               | Default collation   | Maxlen |
+---------+---------------------------+---------------------+--------+
| big5    | Big5 Traditional Chinese  | big5_chinese_ci     |      2 |
| ujis    | EUC-JP Japanese           | ujis_japanese_ci    |      3 |
| sjis    | Shift-JIS Japanese        | sjis_japanese_ci    |      2 |
| euckr   | EUC-KR Korean             | euckr_korean_ci     |      2 |
| gb2312  | GB2312 Simplified Chinese | gb2312_chinese_ci   |      2 |
| gbk     | GBK Simplified Chinese    | gbk_chinese_ci      |      2 |
| utf8    | UTF-8 Unicode             | utf8_general_ci     |      3 |
| ucs2    | UCS-2 Unicode             | ucs2_general_ci     |      2 |
| cp932   | SJIS for Windows Japanese | cp932_japanese_ci   |      2 |
| eucjpms | UJIS for Windows Japanese | eucjpms_japanese_ci |      3 |
+---------+---------------------------+---------------------+--------+
10 rows in set (0.00 sec)

こういう風に比較ができたりすれば、重箱の隅を調査には非常に便利である。


戻る:5.0.4のインストールと動作確認

次へ:mysqlクライアントの起動オプション


フィードバック:

Name:
Comment:

There is no comment.

このサイトは、 IPA の「平成15年度オープンソフトウエア活用基盤整備事業」 の委託事業として開発されたKahuaで試験的に運用しております。

Copyright (c) 2004-2007 株式会社タイムインターメディア About Us