MySQL視圖概述

來源:互聯網
上載者:User

標籤:

1.介紹

在傳統關係型資料庫裡,視圖有時也被稱作虛表,是基於特定SQL結果集的虛擬資料表。在有些場合會變得很方便,例如:原有系統重構,舊的資料表A和B已經被拆分和合并到資料表C、D、F裡面,為了實現平滑遷移不影響對外資料業務,可以分別建立和原有資料表A和B一致的視圖G和H,再實現資料層升級,不影響現有業務。

2.建立

建立MySQL視圖文法如下

CREATE [ALGORITHM=[UNDEFINED | MERGE | TEMPTABLE] ][DEFINER=使用者名稱][SQL SECURITY [DEFINER | INVOKER] ]VIEW `視圖名`AS 查詢SQL[WITH [CASCADED | LOCAL] CHECK OPTION];

參數說明

ALGORITHM  視圖採取何種演算法,不同的演算法效能可能有很大差異,UNDEFINED即由MySQL自行決定採用何種演算法

DEFINER  指定建立該視圖的使用者

SQL SECURITY  關於許可權的定義,可選DEFINER和INVOKER,如果設定為DEFINER則使用該視圖時候,前面的DEFINER需要使用者需要有相應許可權,如果設定為INVOKER,則需要當前調用者有相應許可權

WITH CHECK OPTION  設定視圖的資料完整性檢查,如果不設定則增刪改該視圖的資料不作任何檢查,如果設定為CASCADED則增刪改資料需要滿足該視圖以及所有與之相關的視圖(視圖嵌套)定義的條件(如視圖查詢SQL為WHERE id > 5則不允許增刪改這個條件外的資料),如果設定為LOCAL則只檢查當前視圖(不考慮視圖嵌套),其他限制跟CASEDED一致

3.使用

使用方法與普通的MySQL表一致,相關特性也受對應實表的儲存引擎影響。

MySQL視圖概述

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.