本篇文章给人人带来的内容是关于MYSQL中视图的用法引见(代码示例),有肯定的参考价值,有须要的朋侪能够参考一下,愿望对你有所协助。
1、什么是视图
实行一条SQL,将效果集保存在一张假造表中
(相干引荐:MySQL教程)
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;
7、用视图过滤不想要的数据
create view custmeremaillist AS SELECT cust_id ,cust_name,cust_email from customers where cust_email is not NULL;
直接运用视图
SELECT * from custmeremaillist ;
8、运用视图与盘算字段
mysql查询
SELECT prod_id, quantity, item_price, quantity * item_price AS expanded_price FROM orderitems WHERE order_num=20005;
建立视图
CREATE VIEW orderitemsexpanded AS SELECT order_num, prod_id, quantity, item_price, quantity * item_price AS expanded_price FROM orderitems WHERE order_num=20005;
运用视图
SELECT * FROM orderitemsexpanded WHERE order_num=20005;
9、更新视图
一般,视图是能够更新的(insert、update、delete)。更新视图将更新基表。假如视图中有以下定义将不能被更新。
1. 分组(group by 和 having) 2. 联络 3. 自查询 4. 并 5. 聚合函数(min()、count()、sum()等) 6. Distinct 7. 导出(盘算)列
所以视图最好直接运用select查询。
以上就是MYSQL中视图的用法引见(代码示例)的细致内容,更多请关注ki4网别的相干文章!