"""
视图:
select goods.name,goods_cates.name,goods_brands.name from goods,goods_cates,goods_brands where goods.cate_id=goods_cates.id and goods_brands.id=goods.brand_id
太tm的长了.
视图就把这些复杂操作封装起来了,底层给我们进行三张表的合并查询操作.
1.>创建视图: create view 视图名称 as select 语句<多张表的操作>;
意义:封装了对多张表的复杂操作.
示例:
create view v_goods_info as
select goods.name gname,goods_cates.name cname,goods_brands.name bname
from goods,goods_cates,goods_brands
where goods.cate_id=goods_cates.id
and goods_brands.id=goods.brand_id;
技巧:sql语句很长的时候记得以关键字断句.
注意:字段名不可以重复,有重名的情况下必须起别名
查看:show tables;
所以建议视图以v开头 区别基本表和视图
使用:select 字段 from 视图 where ...;
连接查询也可以,和基本表的操作完全一致
视图只是一个表结构,没有保存任何基本表的表数据.只是一个虚表,不占数据库内存.
在用户需要查询视图的时候,再去基本表中取出对应的数据
只给用户展示指定字段,屏蔽了其他字段,从而显得更安全.
2.>删除视图:
drop view 视图名;
不建议通过视图表去修改基本表的数据
需要修改基本表,直接对基本表进行修改操作即可
"""
# ------------------------------------创建视图:------------------------------->
"""
# create view v_goods_info as select goods.name gname,goods_cates.name cname,goods_brands.name bname
from goods,goods_cates,goods_brands where goods.cate_id=goods_cates.id and goods_brands.id=goods.brand_id;
show tables;
+--------------+
| Tables_in_jd |
+--------------+
| gongfu |
| goods |
| goods_brands |
| goods_cates |
| hero |
| v_goods_info |
+--------------+
"""
"""查询视图:
select * from v_goods_info;
+---------------------------------+---------------+-------+
| gname | cname | bname |
+---------------------------------+---------------+-------+
| r510vc 15.6英寸笔记本 | 笔记本 | 华硕 |
| y400n 14.0英寸笔记本电脑 | 笔记本 | 联想 |
| g150th 15.6英寸游戏本 | 游戏本 | 雷神 |
| x550cc 15.6英寸笔记本 | 笔记本 | 华硕 |
| x240 超极本 | 超级本 | 联想 |
| u330p 13.3英寸超极本 | 超级本 | 联想 |
| svp13226scb 触控超极本 | 超级本 | 索尼 |
| ipad mini 7.9英寸平板电脑 | 平板电脑 | 苹果 |
| ipad air 9.7英寸平板电脑 | 平板电脑 | 苹果 |
| ipad mini 配备 retina 显示屏 | 平板电脑 | 苹果 |
| ideacentre c340 20英寸一体电脑 | 台式机 | 联想 |
| vostro 3800-r1206 台式电脑 | 台式机 | 戴尔 |
| imac me086ch/a 21.5英寸一体电脑 | 台式机 | 苹果 |
| at7-7414lp 台式电脑 linux ) | 台式机 | 宏碁 |
| z220sff f4f06pa工作站 | 服务器/工作站 | 惠普 |
| poweredge ii服务器 | 服务器/工作站 | 戴尔 |
| mac pro专业级台式电脑 | 服务器/工作站 | 苹果 |
| hmz-t3w 头戴显示设备 | 笔记本配件 | 索尼 |
| 商务双肩背包 | 笔记本配件 | 索尼 |
| x3250 m4机架式服务器 | 服务器/工作站 | ibm |
| 商务双肩背包 | 笔记本配件 | 索尼 |
+---------------------------------+---------------+-------+
"""
"""
验证视图是否保存数据:不保存数据,只是在使用的时候直接去基本表获取数据.
在基本表 表中修改了数据之后,在视图中可以查看到,说明视图是依赖于基本表的.
也说明只有在使用视图的时候视图会去调用基本表的数据
# update goods set name='LV包' where id =1;
Query OK, 1 row affected
Rows matched: 1 Changed: 1 Warnings: 0
mysql> select * from v_goods_info;
+---------------------------------+---------------+-------+
| gname | cname | bname |
+---------------------------------+---------------+-------+
| LV包 | 笔记本 | 华硕 |
| y400n 14.0英寸笔记本电脑 | 笔记本 | 联想 |
| g150th 15.6英寸游戏本 | 游戏本 | 雷神 |
| x550cc 15.6英寸笔记本 | 笔记本 | 华硕 |
| x240 超极本 | 超级本 | 联想 |
| u330p 13.3英寸超极本 | 超级本 | 联想 |
| svp13226scb 触控超极本 | 超级本 | 索尼 |
| ipad mini 7.9英寸平板电脑 | 平板电脑 | 苹果 |
| ipad air 9.7英寸平板电脑 | 平板电脑 | 苹果 |
| ipad mini 配备 retina 显示屏 | 平板电脑 | 苹果 |
| ideacentre c340 20英寸一体电脑 | 台式机 | 联想 |
| vostro 3800-r1206 台式电脑 | 台式机 | 戴尔 |
| imac me086ch/a 21.5英寸一体电脑 | 台式机 | 苹果 |
| at7-7414lp 台式电脑 linux ) | 台式机 | 宏碁 |
| z220sff f4f06pa工作站 | 服务器/工作站 | 惠普 |
| poweredge ii服务器 | 服务器/工作站 | 戴尔 |
| mac pro专业级台式电脑 | 服务器/工作站 | 苹果 |
| hmz-t3w 头戴显示设备 | 笔记本配件 | 索尼 |
| 商务双肩背包 | 笔记本配件 | 索尼 |
| x3250 m4机架式服务器 | 服务器/工作站 | ibm |
| 商务双肩背包 | 笔记本配件 | 索尼 |
+---------------------------------+---------------+-------+
"""