视图和表
表:保存实际的数据
视图:保存select语句,从视图中读取数据时,试图会在内部执行该select语句并创建出一张临时表
视图的优点:
1.视图无需保存数据,节省存储设备的容量
2.将频繁使用的select语句保存成视图,这样不用每次都重新书写
创建视图
CREATE VIEW 视图名称(视图列名1,视图列名2,.....)
AS
SELECT语句
保存商品种类及其对应的数量
CREATE VIEW ShopinfoSum(shopinfo_cata,cata_num)
AS
SELECT shohin_cata,COUNT(*)
FROM shopinfo
GROUP BY shohin_cata;
使用视图的方法和使用表一样,原表中的数据更新视图也会自动更新。
使用视图的限制:
1.定义视图时不要使用order by子句
2.对视图进行更新
2.1:未使用group by子句
如果将上述视图中添加电气制品,数量为5。但是原表不知道其他信息(进价、售价等)无法保证数据一致性。
视图和表需要同步更新,通过聚合得到的表无法进行更新。
可以更新的情况:
CREATE VIEW ShopinfoJ(shop_id,shop_name,sho