MySQL 8.0 リファレンスマニュアル MySQL NDB Cluster 8.0 を含む
このページは機械翻訳したものです。
VIEWS
テーブルは、データベース内のビューに関する情報を提供します。 このテーブルにアクセスするには SHOW VIEW
権限が必要です。
VIEWS
テーブルには、次のカラムがあります:
TABLE_CATALOG
ビューが属するカタログの名前。 この値は常に def
です。
TABLE_SCHEMA
ビューが属するスキーマ (データベース) の名前。
TABLE_NAME
ビューの名前。
VIEW_DEFINITION
ビューの定義を提供する SELECT
ステートメント。 このカラムには、SHOW CREATE VIEW
によって生成される Create Table
カラムに表示されるもののほとんどが含まれます。 SELECT
より前の語をスキップし、WITH CHECK OPTION
の語をスキップします。 元のステートメントが次のとおりだったとします。
CREATE VIEW v AS SELECT s2,s1 FROM t WHERE s1 > 5 ORDER BY s1 WITH CHECK OPTION;
この場合、ビュー定義は次のようになります。
SELECT s2,s1 FROM t WHERE s1 > 5 ORDER BY s1
CHECK_OPTION
CHECK_OPTION
属性の値。 値は、NONE
、CASCADE
または LOCAL
のいずれかです。
IS_UPDATABLE
MySQL は、CREATE VIEW
時に、ビューの更新可能性フラグというフラグを設定します。 UPDATE
および DELETE
(および同様の操作) がビューで有効な場合、フラグは YES
(true) に設定されます。 それ以外の場合、フラグは NO
(false) に設定されます。 VIEWS
テーブルの IS_UPDATABLE
カラムは、このフラグのステータスを表示します。 これは、ビューが更新可能であるかどうかをサーバーが常に把握していることを意味します。
ビューが更新可能でない場合、UPDATE
、DELETE
および INSERT
などのステートメントは無効であり、拒否されます。 (ビューが更新可能な場合でも、ビューに挿入できない場合があります。詳細は、セクション25.5.3「更新可能および挿入可能なビュー」 を参照してください。)
DEFINER
ビューを作成したユーザーのアカウント ('
形式)。
user_name
'@'host_name
'
SECURITY_TYPE
ビューの SQL SECURITY
特性。 値は、DEFINER
または INVOKER
のいずれかです。
CHARACTER_SET_CLIENT
ビュー作成時の character_set_client
システム変数のセッション値。
COLLATION_CONNECTION
ビュー作成時の collation_connection
システム変数のセッション値。
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.00 sec) mysql>SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS
WHERE TABLE_SCHEMA = 'test' AND TABLE_NAME = 'v';
+----------------------------------+ | VIEW_DEFINITION | +----------------------------------+ | select concat('a','b') AS `col1` | +----------------------------------+ 1 row in set (0.00 sec)
ビュー定義を正規の形式で格納する利点は、後で sql_mode
の値を変更してもビューの結果に影響しないことです。 ただし、追加の結果として、SELECT
より前のコメントはサーバーによって定義から削除されます。