创新路
我们一直在努力

MySQL学习笔记(66)

可以使用 CREATE VIEW 语句来创建视图。

CREATE VIEW <视图名> AS <SELECT语句>


例1、创建基于单表的视图

查看 test_db 数据库中的 tb_students_info 表的数据;

image.png

在 tb_students_info 表上创建一个名为 view_students_info 的视图;

image.png

 view_students_info 未指定任何条件,所以创建的视图和基本表的字段是一样的,也可以通过指定视图字段的名称来创建视图。

在 tb_students_info 表上创建一个名为 v_students_info 的视图;

image.png

view_students_info 和 v_students_info 两个视图中的数据完全相同,但字段名称不同。用户在使用视图时,了解不到基本表的结构,更接触不到实际表中的数据,从而保证了数据库的安全。


例2、创建基于多表的视图

在表 tb_student_info 和表 tb_departments 上创建视图 v_students_info;

image.png

通过视图,用户仅需对一张表进行操作,可以看到两张不同表中字段的数据,提高了用户的易用性,同时也提升了安全性。


小结:

1、对于创建视图中的 SELECT 语句的指定存在一定限制:

用户除了拥有 CREATE VIEW 权限外,还具有操作中涉及的基础表和其他视图的相关权限。

SELECT 语句不能引用系统或用户变量。

SELECT 语句不能包含 FROM 子句中的子查询。

SELECT 语句不能引用预处理语句参数。

2、视图定义中引用的表或视图必须存在。但是,创建完视图后,可以删除定义引用的表或视图。可使用 CHECK TABLE 语句检查视图定义是否存在这类问题。

3、视图定义中允许使用 ORDER BY 语句,但是若从特定视图进行选择,而该视图使用了自己的 ORDER BY 语句,则视图定义中的 ORDER BY 将被忽略。

未经允许不得转载:天府数据港官方信息博客 » MySQL学习笔记(66)

客官点个赞呗! (0)
分享到:

评论 抢沙发

评论前必须登录!

天府云博 - 做有态度的开发&运维&设计学习分享平台!

联系我们百度云主机