1、視圖的基本介紹
mysql
視圖是虛擬的表。與包含數據的表不同,視圖只包含使用時動態檢索數據的查詢。sql
使用視圖須要MySQL5及之後的版本支持。ide
下面是視圖的一些常見應用:性能
重用SQL語句;測試
簡化複雜的SQL操做;spa
使用表的組成部分而不是整個表;blog
保護數據;索引
更改數據格式和表示;ci
在視圖建立以後,能夠用與表基本相同的方式利用它們。部署
但對於大量的複雜或嵌套視圖,性能可能降低得很厲害。所以在部署相應的應用前,應進行充分的測試。
與表同樣,視圖必須惟一命名(不能給視圖取與別的視圖或表相同的名字);
對於能夠建立的視圖數目沒有限制;
爲了建立視圖,必須具備足夠的訪問權限;
視圖可嵌套;
ORDER BY能夠用在視圖中;
視圖不能索引,也不能有關聯的觸發器或默認值;
視圖能夠和表一塊兒使用;
3、使用視圖
一、建立視圖
create view view_name
AS
select 語句
create view v_name_sex
AS
select name,sex from students where name like '%z%';
二、查看建立視圖的語句
SHOW CREATE VIEW viewname;
mysql>show create view v_name_sex\G
*************************** 1. row***************************
View: v_name_sex
Create View: CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQLSECURITY DEFINER VIEW `v_name_sex` AS select `students`.`name` AS`name`,`students`.`sex` AS `sex` from `students` where
(`students`.`name` like '%z%')
character_set_client: utf8
collation_connection: utf8_general_ci
三、刪除視圖
DROP VIEW viewname;
drop view v_name_sex;