このページは機械翻訳したものです。
Press CTRL+C to copySHOW CREATE VIEW view_name
このステートメントは、指定されたビューを作成する CREATE VIEW
ステートメントを表示します。
Press CTRL+C to copymysql> 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: utf8mb4 collation_connection: utf8mb4_0900_ai_ci
character_set_client
は、このビューが作成されたときの character_set_client
システム変数のセッション値です。collation_connection
は、このビューが作成されたときの collation_connection
システム変数のセッション値です。
SHOW CREATE VIEW
を使用するには、該当するビューに対する SHOW VIEW
権限および SELECT
権限が必要です。
ビュー情報は、INFORMATION_SCHEMA
VIEWS
テーブルからも参照できます。 セクション26.48「INFORMATION_SCHEMA VIEWS テーブル」を参照してください。
MySQL では、異なる sql_mode
設定を使用すると、サポートする SQL 構文のタイプをサーバーに指示できます。 たとえば、ANSI
SQL モードを使用すると、クエリーで、MySQL で標準 SQL 連結演算子の二重バー (||
) が正しく解釈されます。 その後、項目を連結するビューを作成した場合、sql_mode
設定を ANSI
とは別の値に変更すると、そのビューが無効になるという懸念がある場合があります。 ただし、そのようなことはありません。 MySQL は、記述方法には関係なく、常にビュー定義を正規の形式で同じ方法で格納します。 サーバーが二重バーの連結演算子を CONCAT()
関数にどのように変更するかを示す例を次に示します。
Press CTRL+C to copymysql> 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
の前にあるコメントが、サーバーによって定義から取り除かれるというその他の影響があります。