MySQL视图(CREATE VIEW)

时间:2019-10-21 20:55   编辑:admin

  视图是指在曾经存放在的 MySQL 数据库表上确立视图。视图却以确立在壹张表中,也却以确立在多张表中。

  却以运用 CREATE VIEW 语句子到来视图。

  语法程式如次:

  语法说皓如次。

  :指定视图的名称。该名称在数据库中必须是独壹的,不能与其他表或视图同名。

  :指定视图的 SELECT 语句子,却用于查询多个基础表或源视图。

  关于视图中的 SELECT 语句子的指定存放在以下限度局限:

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

  SELECT 语句子不能援用体系或用户变量。

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

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

  视图定义中援用的表或视图必须存放在。条是,完视图后,却以删摒除定义援用的表或视图。却运用 CHECK TABLE 语句子反节视图定义能否存放在此雕刻类效实。

  视图定义中容许运用 ORDER BY 语句子,条是若从特定视图终止选择,而该视图运用了己己己的 ORDER BY 语句子,则视图定义中的 ORDER BY 将被忽略。

  视图定义中不能援用 TEMPORARY 表(临时表),不能 TEMPORARY 视图。

  WITH CHECK OPTION 的意思是,修改视图时,反节拔出产的数据能否适宜 WHERE 设置的环境。

  MySQL 却以在单个数据表上视图。

  检查 test_db 数据库中的 tb_students_info 表的数据,如次所示。

  【实例 1】在 tb_students_info 表上壹个名为 view_students_info 的视图,输入的 SQL 语句子和实行结实如次所示。

  默许情景下,的视图和根本表的字段是壹样的,也却以经度过指定视图字段的名称到来视图。

  【实例 2】在 tb_students_info 表上壹个名为 v_students_info 的视图,输入的 SQL 语句子和实行结实如次所示。

  却以看到,view_students_info 和 v_students_info 两个视图中的字段名称不一,条是数据却相反。故此,在运用视图时,能用户不需寻求了松根本表的构造,更接触不到还愿表中的数据,从而保障了数据库的装置然。

  MySQL 中也却以在两个以上的表中视图,运用 CREATE VIEW 语句子。

  【实例 3】在表 tb_student_info 和表 tb_departments 上视图 v_students_info,输入的 SQL 语句子和实行结实如次所示。

  经度过此雕刻个视图却以很好地维养护根本表中的数据。视图中包罗 s_id、s_name 和 dept_name,s_id 字段对应 tb_students_info 表中的 id 字段,s_name 字段对应 tb_students_info 表中的 name 字段,dept_name 字段对应 tb_departments 表中的 dept_name 字段。

分享至: