标签:语句 category Java 视图 查询 MySQL SELECT view
[BigDataJava:Java&MySQL索引/存储过程/触发器.V03] [BigDataJava.MySQL基础][|第二阶段|模块一|——|章节四|mysql基础|mysql索引/存储过程/触发器|视图的介绍和创建|]
一、什么是视图
### --- 什么是视图
——> 1. 视图是一种虚拟表。
——> 2. 视图建立在已有表的基础上, 视图赖以建立的这些表称为基表。
——> 3. 向视图提供数据内容的语句为 SELECT 语句, 可以将视图理解为存储起来的 SELECT 语句.
——> 4. 视图向用户提供基表数据的另一种表现形式
### --- 视图的作用
——> 权限控制时可以使用
——> 比如,某几个列可以运行用户查询,其他列不允许,可以开通视图 查询特定的列, 起到权限控制的作用
### --- 简化复杂的多表查询
——> 视图 本身就是一条查询SQL,我们可以将一次复杂的查询 构建成一张视图, 用户只要查询视图就可以获取想要得到的信息(不需要再编写复杂的SQL)
——> 视图主要就是为了简化多表的查询
二、视图的使用### --- 创建视图
——> 语法格式
create view 视图名 [column_list] as select语句;
view: 表示视图
column_list: 可选参数,表示属性清单,指定视图中各个属性的名称,默认情况下,与SELECT语句中查询的属性相同
as : 表示视图要执行的操作
select语句: 向视图提供数据内容
### --- 创建一张视图
~~~ # 先编写查询语句
~~~ 查询所有商品 和 商品的对应分类信息
SELECT * FROM products p LEFT JOIN category c ON p.`category_id` = c.`cid`;
~~~ # 基于上面的查询语句,创建一张视图
CREATE VIEW products_category_view
AS SELECT * FROM products p LEFT JOIN category c ON p.`category_id` = c.`cid`;
### --- 查询视图 ,当做一张只读的表操作就可以
SELECT * FROM products_category_view;
三、sql语句
### --- sql语句
/*
什么是视图
视图是由查询结果形成的一张虚拟的表.
视图的作用
如果某个查询的结果出现的十分频繁,并且查询语法比较复杂.
那么这个时候,就可以根据这条查询语句构建一张视图 方便查询
视图的语法
create view 视图名[字段列表] as select 查询语句;
view 表示视图
字段列表 一般跟后面的查询语句 相同
as select 查询语句 表示给视图提供数据的 查询语句
*/
-- 创建视图
-- 1.查询所有商品和商品对应分类的信息
SELECT * FROM products p LEFT JOIN category c ON p.`category_id` = c.`cid`;
-- 2.根据上面的查询语句 构建一张视图
CREATE VIEW products_category_view AS
SELECT * FROM products p LEFT JOIN category c ON p.`category_id` = c.`cid`;
-- 操作视图 就相当于操作一张 只读表
SELECT * FROM products_category_view;
===============================END===============================
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart ——W.S.Landor
来自为知笔记(Wiz)
标签:语句,category,Java,视图,查询,MySQL,SELECT,view 来源: https://www.cnblogs.com/yanqivip/p/16102142.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。