首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 視圖完整指南:創建、查看、修改、更新、刪除與算法選擇

     編輯:MySQL 綜合教學

MySQL 視圖完整指南:創建、查看、修改、更新、刪除與算法選擇

視圖是虛擬表,不存數據、只存定義,提供「所見即所需」的安全隔離與邏輯簡化。系統講解 CREATE VIEW 算法、權限檢查、WITH CHECK OPTION 級聯約束、可更新性限制與 DROP VIEW。

1. 視圖基礎

  • 定義存儲在 information_schema.views
  • 底表數據變更 → 視圖即時反映
  • 不支援輸入參數(無交互性),適合固定模式查詢
  • 三大作用:簡化操作、權限隔離、邏輯獨立性

2. 創建視圖

SELECT select_priv, create_view_priv FROM mysql.user WHERE user='username';

案例:department + worker → worker_view1
CREATE VIEW語法 創建案例

3. 查看視圖

方法命令權限
簡單信息DESC view_name;SHOW VIEW
基本信息SHOW TABLE STATUS LIKE 'view_name';SHOW VIEW
詳細定義SHOW CREATE VIEW view_name;SHOW VIEW
元數據查詢SELECT * FROM information_schema.views;SELECT on information_schema

4. 修改視圖

ALTER VIEW

5. 更新視圖(數據回寫底表)

不可更新場景(任一即不可更新):

  1. 含聚合函數 SUM/COUNT/MAX/MIN
  2. 含 UNION/DISTINCT/GROUP BY/HAVING
  3. 常量列
  4. SELECT 中含子查詢
  5. 源自不可更新視圖
  6. 算法 TEMPTABLE
  7. 底表有無默認值的非空列且未包含在視圖中

⚠️ **建議視圖僅作查詢**,更新操作直接針對底表,避免限制陷阱。

6. 刪除視圖

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved