了解并使用视图

简介: 【1月更文挑战第13天】了解并使用视图。

视图是基于数据表而建立的数据库对象,视图可以像表一样使用,但数据库中仅存储视图的定义不存储视图的数据,视图是基于基础表导出的虚表。
使用Navicat等图形工具,在对象管理器中选中视图节点,然后单击“新建视图”按钮打开“视图创建工具”窗口,然后在图形界面中添加相应的表并选择相关字段即可定义视图。
使用命令动词CREATE VIEW,直接在编辑器编写视图定义代码。
使用CREATE VIEW创建视图的命令语法格式如下:

CREATE[ALGORITHM={UNDEFINED|MEGER|TEMPTABLE}] VIEW视图名[ (列[ ,...n ] ) ]
AS
SELECT语句
[ WITH [CASCADED|LOCAL] CHECK OPTION ]
CREATE VIEW创建语法说明如下:

1)视图名应符合标识符的命名规则。
2)ALGORITHM为可选参数,不表示视图选择的算法,其取值有三个UNDEFINED、MEGER和TEMPTABLE。
3)(列 [ ,...n ] )用于指定视图中各列的名称,这里指定的列名与SELECT语句结果集列一一对应。若省略这个列名列表,将直接使用SELECT语句中的列名称(注意此时不能出现无列名的列)。
4)SELECT语句用于定义视图,SELECT语句中可以使用多个表或其他视图。
5)WITH [CASCADED|LOCAL] CHECK OPTION为可选参数,表示用于限制通过视图执行的所有UPDATE语句必须在该视图的权限范围之内。其中CASCADED为默认值,表示更新视图时要满足所有相关视图和基本表的条件,在MySQL 5.7.6版本以后LOCAL表示更新视图时MySQL会检查WITH LOCAL CHECK OPTION和WITH CASCADED CHECK OPTION选项的视图和条件。
任务实现

在编辑窗口编写代码如下:
CREATE VIEW v_yxxsmd
AS
SELECT d.dept_id,dept_name,s_id,s_name
FROM department d join student s on d.dept_id=s.dept_id
ORDER BY d.dept_id;
创建过程小结
1)代码中省略了视图名称后的列名列表,将直接使用SELECT语句中列名作为视图的列名。
2)本例中是基于department和student两张表的连接查询生成的视图,在实际应用的过程中视图可以基于前面学习过的各种类型的查询来生成。
3)视图除了可以从基本表中直接查询生成,还可以从已经创建好的视图中进行查询来生成。
在视图创建完成以后,可以通过三类语句来查看视图的基本信息、结构和定义文本。
1)使用SHOW TABLE STATUS语句查看视图的基本信息的语法格式为:
SHOW TABLE STATUS LIKE '视图名'
2)使用DESCREIBE或DESC语句查看视图的结构信息的语法格式为:
DESCRIBE '视图名' /DESC '视图名'
3)适应SHOW CREATE VIEW语句查看视图的定义文本的语法格式为:
SHOW CREATE VIEW '视图名'
查看过程小结

1)从SHOW TABLE STATUS LIKE 'v_yxxsmd'的执行结果来看,Name的值为v_yxxsmd,Comment的值为VIEW,说明该对象为视图,其他信息均为NULL,说明该对象为虚表。
2)从DESCRIBE v_yxxsmd的执行结果来看,结果显示了视图的字段定义、字段的数据类型、是否为空、是否为主/外键、默认值和其他信息。
3)从SHOW CREATE VIEW v_yxxsmd的执行结果来看,结果显示了视图的名称、创建视图的定义文本、客户端使用的编码以及校对规则等。

相关文章
|
2月前
|
SQL 存储 BI
什么是视图?详细解析与应用指南
【8月更文挑战第31天】
146 0
|
5月前
|
SQL 存储 安全
|
11月前
|
SQL 存储 关系型数据库
第14章_视图
第14章_视图
75 0
|
5月前
|
存储 数据库
了解并使用视图
了解并使用视图。
38 0
|
存储 架构师
「架构框架」ArchiMate视图指南(7):信息结构视图和服务实现视图
「架构框架」ArchiMate视图指南(7):信息结构视图和服务实现视图
|
编解码 Android开发
视图 总结 基础
DragViewTaskRelease 使用FrameLayout布局(可以用其他的),内嵌imageView实现悬浮拖动和点击事件,继承View的ontouchEvent进行动作监听和移动 getX(),getY()等方法的区别(图解) BarPercentView 条形进度条(可设置 线性渐变-背景色-进度条颜色-进度条高度) 游戏下载进度条显示 zidingyiView矩形进度框,在构造函数里定义基础属性,初始化布局,定义俩个矩形,onMeasure获取宽高和onDraw方法显示
|
SQL 数据处理
视图的创建
如何创建和使用视图的功能,更好的方便我们的工作。
99 0
|
存储
视图
视图
111 0
|
监控 中间件 程序员
关于开发视图
开发视图是逻辑视图的实现,它又叫实现视图,描述了在开发环境中软件的静态组织结构,主要侧重于软件模块的组织和管理。
692 0
关于开发视图