注册个免费网站国内优秀的设计网站推荐
一、视图
1、视图和表
使用试图时会执行SELECT语句并创建一张临时表。视图中保存的是SELECT语句;表中保存的是实际数据。
2、创建视图的方法
CREATE VIEW 视图名称(<视图列名1>,<视图列名2>,……)
AS
<SELECT语句>
CREATE VIEW ProductSum (product_type, cnt_product)
AS
SELECT product_type, COUNT(*)FROM ProductGROUP BY product_type; 
SELECT product_type, cnt_productFROM ProductSum; 
 product_type | cnt_product
--------------+-------------厨房用具     |           4衣服         |           2办公用品     |           2 
还可以以视图为基础创建视图,但多重视图会降低SQL的性能。
-- 在视图的基础上创建视图
CREATE VIEW ProductSumJim (product_type, cnt_product)
AS
SELECT product_type, cnt_productFROM ProductSumWHERE product_type = '办公用品';-- 确认创建好的视图
SELECT product_type, cnt_productFROM ProductSumJim; 
 product_type | cnt_product
--------------+-------------办公用品     |           2 
3、视图的限制1(定义视图时不能使用ORDER BY子句)
4、视图的限制2(对视图进行更新)
 通过汇总得到的表无法更新
 能够更新的情况(既没有聚合有没有结合)
CREATE VIEW ProductJim (product_id, product_name, product_type, sale_price, purchase_price, regist_date)
AS 
SELECT *FROM ProductWHERE product_type = '办公用品'; 
-- 向视图中添加数据行
INSERT INTO ProductJim VALUES ('0009', '印章', '办公用品', 95, 10, '2009-11-30');--  确认数据是否已经添加到视图中
S