10.1.9.3 SHOW ステートメントと INFORMATION_SCHEMA

複数の SHOW ステートメントから文字セットの追加情報が得られます。これらには SHOW CHARACTER SETSHOW COLLATIONSHOW CREATE DATABASESHOW CREATE TABLE、および SHOW COLUMNS が含まれます。ここでは、これらのステートメントについて簡単に説明します。詳細は、セクション13.7.5「SHOW 構文」を参照してください。

INFORMATION_SCHEMA には、SHOW ステートメントで表示されるものに類似した情報を含む複数のテーブルが含まれます。たとえば、CHARACTER_SETS および COLLATIONS テーブルには、SHOW CHARACTER SET および SHOW COLLATION で表示される情報が含まれます。第21章「INFORMATION_SCHEMA テーブルを参照してください。

SHOW CHARACTER SET ステートメントは使用可能な文字セットをすべて表示します。一致する文字セット名を指定するには、オプションの LIKE 句を使用します。例:

mysql> SHOW CHARACTER SET LIKE 'latin%';
+---------+-----------------------------+-------------------+--------+
| Charset | Description                 | Default collation | Maxlen |
+---------+-----------------------------+-------------------+--------+
| latin1  | cp1252 West European        | latin1_swedish_ci |      1 |
| latin2  | ISO 8859-2 Central European | latin2_general_ci |      1 |
| latin5  | ISO 8859-9 Turkish          | latin5_turkish_ci |      1 |
| latin7  | ISO 8859-13 Baltic          | latin7_general_ci |      1 |
+---------+-----------------------------+-------------------+--------+

SHOW COLLATION からの出力には、使用可能なすべての文字セットが含まれます。一致する照合順序名を指定するには、オプションの LIKE 句を使用します。例:

mysql> SHOW COLLATION LIKE 'latin1%';
+-------------------+---------+----+---------+----------+---------+
| Collation         | Charset | Id | Default | Compiled | Sortlen |
+-------------------+---------+----+---------+----------+---------+
| latin1_german1_ci | latin1  |  5 |         |          |       0 |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       0 |
| latin1_danish_ci  | latin1  | 15 |         |          |       0 |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 |
| latin1_bin        | latin1  | 47 |         | Yes      |       0 |
| latin1_general_ci | latin1  | 48 |         |          |       0 |
| latin1_general_cs | latin1  | 49 |         |          |       0 |
| latin1_spanish_ci | latin1  | 94 |         |          |       0 |
+-------------------+---------+----+---------+----------+---------+

SHOW CREATE DATABASE は、所定のデータベースを作成する CREATE DATABASE ステートメントを表示します。

mysql> SHOW CREATE DATABASE test;
+----------+-----------------------------------------------------------------+
| Database | Create Database                                                 |
+----------+-----------------------------------------------------------------+
| test     | CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET latin1 */ |
+----------+-----------------------------------------------------------------+

COLLATE 句が表示されていなければ、文字セットのデフォルト照合順序が適用されます。

SHOW CREATE TABLE は類似していますが、所定のテーブルを作成する CREATE TABLE ステートメントを表示します。カラム定義は文字セット仕様を指定し、テーブルオプションは文字セット情報を含んでいます。

SHOW COLUMNS ステートメントは SHOW FULL COLUMNS として呼び出された場合、テーブルのカラムの照合順序を表示します。CHARVARCHAR、または TEXT データ型を含むカラムには照合順序があります。数値型およびほかの非文字型には照合順序はありません (Collation 値として NULL で示されます)。例:

mysql> SHOW FULL COLUMNS FROM person\G
*************************** 1. row ***************************
     Field: id
      Type: smallint(5) unsigned
 Collation: NULL
      Null: NO
       Key: PRI
   Default: NULL
     Extra: auto_increment
Privileges: select,insert,update,references
   Comment:
*************************** 2. row ***************************
     Field: name
      Type: char(60)
 Collation: latin1_swedish_ci
      Null: NO
       Key:
   Default:
     Extra:
Privileges: select,insert,update,references
   Comment:

文字セットは表示の中にはなく、照合順序名で示されます。


User Comments
Sign Up Login You must be logged in to post a comment.