Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 26.8Mb
PDF (A4) - 26.9Mb
HTML Download (TGZ) - 7.1Mb
HTML Download (Zip) - 7.2Mb


13.7.5.14 SHOW CREATE VIEW 構文

SHOW CREATE VIEW view_name

このステートメントは、指定されたビューを作成する CREATE VIEW ステートメントを表示します。

mysql> SHOW CREATE VIEW v\G
*************************** 1. row ***************************
                View: v
         Create View: CREATE ALGORITHM=UNDEFINED
                      DEFINER=`bob`@`localhost`
                      SQL SECURITY DEFINER VIEW
                      `v` AS select 1 AS `a`,2 AS `b`
character_set_client: latin1
collation_connection: latin1_swedish_ci

character_set_client は、このビューが作成されたときの character_set_client システム変数のセッション値です。collation_connection は、このビューが作成されたときの collation_connection システム変数のセッション値です。

SHOW CREATE VIEW を使用するには、SHOW VIEW 権限、および対象のビューに対する SELECT 権限が必要です。

また、VIEWS テーブルを含む INFORMATION_SCHEMA からビューオブジェクトに関する情報を取得することもできます。セクション21.28「INFORMATION_SCHEMA VIEWS テーブル」を参照してください。

MySQL では、異なる sql_mode 設定を使用すると、サポートする SQL 構文のタイプをサーバーに指示できます。たとえば、ANSI SQL モードを使用すると、クエリーで、MySQL で標準 SQL 連結演算子の二重バー (||) が正しく解釈されます。その後、項目を連結するビューを作成した場合、sql_mode 設定を ANSI とは別の値に変更すると、そのビューが無効になるという懸念がある場合があります。ただし、そのようなことはありません。MySQL は、記述方法には関係なく、常にビュー定義を正規の形式で同じ方法で格納します。サーバーが二重バーの連結演算子を CONCAT() 関数にどのように変更するかを示す例を次に示します。

mysql> SET sql_mode = 'ANSI';
Query OK, 0 rows affected (0.00 sec)

mysql> CREATE VIEW test.v AS SELECT 'a' || 'b' as col1;
Query OK, 0 rows affected (0.01 sec)

mysql> SHOW CREATE VIEW test.v\G
*************************** 1. row ***************************
                View: v
         Create View: CREATE VIEW "v" AS select concat('a','b') AS "col1"
...
1 row in set (0.00 sec)

ビュー定義を正規の形式で格納する利点は、あとで sql_mode の値を変更しても、ビューの結果に影響を与えないことにあります。ただし、SELECT の前にあるコメントが、サーバーによって定義から取り除かれるというその他の影響があります。


User Comments
User comments in this section are, as the name implies, provided by MySQL users. The MySQL documentation team is not responsible for, nor do they endorse, any of the information provided here.
Sign Up Login You must be logged in to post a comment.