10bet网址
MySQL 5.6リファレンスマニュアル
本手册下载
PDF (Ltr)- 26.8 mb
PDF (A4)- 26.8 mb


21.28 information_schema查看テーブル

的观点テーブルは,データベース内のビューに関する情報を提供します。このテーブルにアクセスするには显示视图権限が必要です。

INFORMATION_SCHEMA 显示 備考
TABLE_CATALOG def
TABLE_SCHEMA
TABLE_NAME
VIEW_DEFINITION
CHECK_OPTION
IS_UPDATABLE
定义者
SECURITY_TYPE
CHARACTER_SET_CLIENT MySQL拡張
COLLATION_CONNECTION MySQL拡張

  • VIEW_DEFINITIONカラムには,显示创建视图が生成する创建表フィールドに表示されるほとんどのものが存在します。选择より前の語をスキップし,检查选项の語をスキップします。元のステートメントが次のとおりだったとします。

    创建视图v:从t中选择s2,s1,其中s1的>顺序为s1,并带有检查选项;

    この場合,ビュー定義は次のようになります。

    SELECT s2,s1 FROM t WHERE s1 > 5 ORDER BY s1
  • CHECK_OPTIONカラムは,没有一个级联,または当地的の値になります。

  • MySQLは,创建视图時に,ビューの更新可能性フラグというフラグを設定します。更新および删除(および同様の操作)がビューで有効な場合,フラグは是的(正确)に設定されます。それ以外の場合,フラグは没有(错误)に設定されます。的观点テーブルのIS_UPDATABLEカラムは,このフラグのステータスを表示します。これは,ビューが更新可能であるかどうかをサーバーが常に把握していることを意味します。ビューが更新可能ではない場合,更新删除插入などのステートメントは無効であり,拒否されます。(ビューが更新可能な場合でも,挿入できない場合があります。詳細は,セクション13.1.20创建视图構文を参照してください.)

  • 定义者user_name“@”host_name形式で示した,ビューを作成したユーザーのアカウントです。SECURITY_TYPEには,定义者または调用程序の値があります。

  • CHARACTER_SET_CLIENT:ビューが作成されたときのcharacter_set_clientシステム変数のセッション値です。

  • COLLATION_CONNECTION:ビューが作成されたときのcollation_connectionシステム変数のセッション値です。

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

设置sql_mode = 'ANSI';mysql>创建VIEW test。SELECT 'a' | ' | 'b' AS col1;SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA视图-> WHERE TABLE_SCHEMA = 'test' AND TABLE_NAME = 'v';+----------------------------------+ | VIEW_DEFINITION  | +----------------------------------+ | 选择concat (a, b)的col1 ` | +----------------------------------+ 1行集(0.00秒)

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


本手册下载
PDF (Ltr)- 26.8 mb
PDF (A4)- 26.8 mb