内容简介:执行一条SQL,将结果集保存在一张虚拟表中注意事项• 在视图创建后,可以用与表基本相同的方式使用(查询、过滤、排序数据、与其他视图或连结、(添加、更新))
1、什么是视图
执行一条SQL,将结果集保存在一张虚拟表中
2、为什么要使用视图
- 重复利用 SQL 语句
- 简化SQL查询,快速取数据
- 只用知道表的部分结构
- 保护数据,根据特定授权
- 更改数据格式和表示,视图可返回与底层表的表示和格式不同的数据。
注意事项
• 在视图创建后,可以用与表基本相同的方式使用(查询、过滤、 排序 数据、与其他视图或连结、(添加、更新))
• 视图只是用来查看存储在别处的数据的设施,本身不包含数据,返回的数据也是从其他表检索出来的。
• 因为视图本身不包含数据,索引多个表连结或嵌套可能存在性能问题,需测试
3、规则和限制
- 表名必须唯一(与其他视图和表)
- 创建视图没有限制
- 足够权限
- 视图可以嵌套,可以从其他视图查询来构造一个视图
- 如果视图和从视图中查询都有order by,视图中的order by将被覆盖
- 视图不能索引
- 视图可以和表一起使用
4、使用视图
- 创建视图 create view
- 查看创建视图的语句。Show create view viewname
- 删除视图 drop view viewname
- 更新视图,1⃣️ 先drop后create 2⃣️ 直接用create or replace view
- 利用视图简化复杂的联结查询
5、利用视图简化复杂的联结查询
创建视图
CREATE VIEW productcustomers AS SELECT cust_name, cust_contact, prod_id FROM customers, orders, orderitems WHERE customers.cust_id = orders.cust_id AND orderitems.order_num = orders.order_num
使用视图
SELECT cust_name, cust_contact FROM productcustomers WHERE prod_id = 'TNT2';
6、用视图重新格式化检索出的数据
select concat (rtrim(vend_name) , '(',rtrim(vend_country),')') as vend_title from vendors order by vend_name;
如果经常用到这个格式的话,可以创建一个视图
CREATE VIEW vendorlocations AS SELECT concat ( rtrim( vend_name ), '(', rtrim( vend_country ), ')' ) AS vend_title FROM vendors ORDER BY vend_name;
可以直接通过视图查询得出结果
SELECT * FROM vendorlocations;
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- OpenGL 使用矩阵变换改变视图
- 微信小程序开发实战(1):使用滚动视图
- 在Data Lake Analytics中使用视图
- 在 Cloudant 中编写(和避免使用)视图的指南
- 10.Laravel使用视图组合器(View composer)
- django总结六:视图的使用and url的配置 and 模版的使用
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。