可以使用 CREATE VIEW 语句来创建视图。
CREATE VIEW <视图名> AS <SELECT语句>
例1、创建基于单表的视图
查看 test_db 数据库中的 tb_students_info 表的数据;

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

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

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

通过视图,用户仅需对一张表进行操作,可以看到两张不同表中字段的数据,提高了用户的易用性,同时也提升了安全性。
小结:
1、对于创建视图中的 SELECT 语句的指定存在一定限制:
用户除了拥有 CREATE VIEW 权限外,还具有操作中涉及的基础表和其他视图的相关权限。
SELECT 语句不能引用系统或用户变量。
SELECT 语句不能包含 FROM 子句中的子查询。
SELECT 语句不能引用预处理语句参数。
2、视图定义中引用的表或视图必须存在。但是,创建完视图后,可以删除定义引用的表或视图。可使用 CHECK TABLE 语句检查视图定义是否存在这类问题。
3、视图定义中允许使用 ORDER BY 语句,但是若从特定视图进行选择,而该视图使用了自己的 ORDER BY 语句,则视图定义中的 ORDER BY 将被忽略。
未经允许不得转载:天府数据港官方信息博客 » MySQL学习笔记(66)
客官点个赞呗! (0)