表:保存真实的数据
视图:保存select语句从表中查到的数据,方便再次查看
表数据修改,视图中数据也修改;视图中数据修改,表中数据也修改(但不建议通过该方式)
#创建视图时,不能使用 ORDER BY 子句
CREATE VIEW my_view (lie, lie2)
AS
SELECT product_type, COUNT(*)
FROM product
GROUP BY product_type
ORDER BY product_type;
#从视图中查询数据
SELECT sale_price
FROM my_view
WHERE lie = '衣服';
#修改视图中数据
因为视图是一个虚拟表,所以对视图的操作就是对底层基础表的操作,所以在修改时只有满足底层基本表的定义才能成功修改。
对于一个视图来说,如果包含以下结构的任意一种都是不可以被更新的:
聚合函数 SUM()、MIN()、MAX()、COUNT() 等。
DISTINCT 关键字。
GROUP BY 子句。
HAVING 子句。
UNION 或 UNION ALL 运算符。
FROM 子句中包含多个表。