溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MYSQL中視圖怎么用

發布時間:2021-09-23 09:24:21 來源:億速云 閱讀:101 作者:小新 欄目:開發技術

這篇文章給大家分享的是有關MYSQL中視圖怎么用的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

  視圖是數據庫中由真實的數據表查詢語句定義而成的一種虛擬表,視圖本身不存儲數據只是存儲查詢數據的定義。

  視圖的優點是什么

  首先申明一點,視圖本身的查詢和直接作為定義的sql聯表查詢的效率事實上沒有什么區別。所以不要指望使用視圖,能給你提升多大的效率。

  可以看得見的優點暫時只找到了三點

 ?。?).比如你程序發送查詢語句給數據庫服務器的時候,用視圖傳輸的語句字節數更少

 ?。?).程序上的代碼寫的更少了,更容易讀懂視圖查詢所需要的字段,不必考慮多表查詢的細節

 ?。?).多表更新字段或減少冗余時,你不必修改程序,只需要更新視圖即可

  真正能改善查詢效率的是合理規劃表結構,和建立適當的查詢索引,有興趣了解可以看看這篇查詢優化

  視圖的使用

  [1]創建視圖

  createviewview_nameas你復雜的查詢語句; 

   擴展:我們可以使用指定的算法來創建視圖

  createALGORITHM=TEMPTABLEviewview_nameas你復雜的查詢語句;

  createALGORITHM=MERGEviewview_nameas你復雜的查詢語句;

   TEMPTABLE臨時表模式只能查詢不能更新

   MERGE合并替換模式在更新視圖中的數據時,會同時更新真實表中的數據(不指定系統會默認使用)

  [2]刪除視圖  

  dropviewview_name;

  使用視圖的小案例

  在案例中學習代碼永遠都是最快的。

  復制代碼

  #users表的創建

  CREATETABLE`users`(

  `u_id`int(4)NOTNULLauto_increment,

  `username`varchar(20)defaultNULL,

  `age`int(4)defaultNULL,

  `country`varchar(20)defaultNULL,

  PRIMARYKEY(`u_id`)

  )ENGINE=InnoDBAUTO_INCREMENT=6DEFAULTCHARSET=utf8;

  #course表的創建

  CREATETABLE`course`(

  `c_id`int(4)NOTNULLauto_increment,

  `coursename`varchar(20)defaultNULL,

  `description`varchar(255)defaultNULL,

  PRIMARYKEY(`c_id`)

  )ENGINE=InnoDBAUTO_INCREMENT=5DEFAULTCHARSET=utf8;

感謝各位的閱讀!關于“MYSQL中視圖怎么用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女