mysql視圖原理與用法實例詳解
本文實例講述了mysql視圖原理與用法。分享給大家供大家參考,具體如下:
本文內容: 什么是視圖 創建視圖 查看視圖 視圖的修改 視圖的刪除 視圖的數據操作首發日期:2018-04-13
什么是視圖: 視圖是一種基于查詢結果的虛擬表,數據來源的表稱為基本表。 視圖的建立和刪除不影響基本表。 視圖的插入,修改操作會影響基本表。 如果視圖來自多個基本表,那么不可以修改基本表。 視圖的用處: 1.視圖基于查詢結果,使得視圖可以隱藏基本表一些不該展示給用戶的數據信息(比如某個開發人員需要用戶信息表,但不應該展示給他用戶的密碼信息。) 2.視圖是一個虛擬表,可以將查詢信息存儲到視圖中,這樣可以便于操作。 ...... 創建視圖: 語法:create view 視圖名 as select語句 [with check option];【select語句可以多表查詢結果:聯合查詢、連接查詢】 with check option會依據where等條件語句來限制插入和修改操作(比如檢索出來的視圖數據是男的,不允許將男的改成女的)create view man_info as select * from student where gender='male'; 補充: 視圖的創建還有一個可選項:視圖算法(這里不講述,想了解的可以百度)查看視圖: 視圖是一個虛擬表,針對表的查看語句都可以使用到視圖中 查看所有視圖:show tables/views; 查看視圖結構:desc/describe/show columns from 視圖名; 查看視圖創建語句:show create table/view 視圖名; 視圖的修改: 有時候可能發生定義視圖錯誤,所以這時候會執行修改視圖操作。 語法:alter view 視圖名 as 新的select語句;
create view user_view as select * from user;alter view user_view as select username,money from user;補充: 由于視圖是一種虛擬表,還有一種可以修改視圖的方法:create or replace view 視圖創建語句;【將以新的視圖覆蓋舊視圖】視圖的刪除: 語法:drop view 視圖名[,視圖名…]; 示例:
drop view student_class,student_info; 視圖的數據操作: 如果視圖來自多個基本表,那么不可以修改基本表。不過理論上update是允許的。視圖的數據查看: 語法:select 字段列表 from 視圖名;【與基本表的查詢操作是一致的。】視圖的數據插入: 數據來源自多個基本表時,無法進行插入操作。 語法:insert into 視圖名 values();【與基本表的插入操作是一致的。】 注意:視圖結構來自于基本表,所以要接受基本表的約束。如果某個字段不允許為空,但視圖的插入操作又沒賦值的話,會插入失敗。視圖的數據修改: 語法:update 視圖名 set 字段名 = 值 where 條件;【與基本表的修改操作是一致的。】視圖的數據刪除: 數據來源自多個基本表時,無法進行刪除操作。 語法:delete from 視圖名 where 條件;【與基本表的刪除操作是一致的。】
更多關于MySQL相關內容感興趣的讀者可查看本站專題:《MySQL查詢技巧大全》、《MySQL事務操作技巧匯總》、《MySQL存儲過程技巧大全》、《MySQL數據庫鎖相關技巧匯總》及《MySQL常用函數大匯總》
希望本文所述對大家MySQL數據庫計有所幫助。
相關文章:
1. 如何手動刪除 SQL Server 2000 默認實例、命名實例或虛擬實例2. 數據庫相關的幾個技能:ACCESS轉SQL3. 啟動MYSQL出錯 Manager of pid-file quit without updating file.4. mysql-bin.000001文件的來源及處理方法5. 數據庫Oracle9i的企業管理器簡介6. MySQL性能優化之一條SQL在MySQL中執行的過程詳解7. MySQL實現數據批量更新功能詳解8. 詳解MySQL InnoDB存儲引擎的內存管理9. Eclipse與MySQL數據庫的連接教程(已實操)10. Oracle rac環境的數據庫導入操作步驟
