加入收藏 | 设为首页 | 会员中心 | 我要投稿 均轻资讯网 (https://www.ijunqing.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

MYSQL 中视图的操作

发布时间:2022-10-12 15:21:35 所属栏目:MsSql教程 来源:
导读:   数据库中关于数据的查询有时候非常复杂,例如表连接,子查询等,这种查询会让程序员感到痛苦,因为它逻辑复杂、编写语句太多。当这种语句需要重复使用时则不会次次编写都正确,降低了数据库的实用性。

  
   数据库中关于数据的查询有时候非常复杂,例如表连接,子查询等,这种查询会让程序员感到痛苦,因为它逻辑复杂、编写语句太多。当这种语句需要重复使用时则不会次次编写都正确,降低了数据库的实用性。
 
  为了提高复杂sql语句的复用性和表操作的安全性,mysql数据库管理系统提供了视图的特性。所谓视图,本质上是一种虚拟表,其内容和真实表相似,包含了一系列带有名称的列和行的数据。但是视图并不是在数据库中以存储的数据值形式存在。行和列数据来自定义视图的查询所引用基本表,并且在具体引用视图时动态生成。
 
  视图的特点:
 
  1 视图的列可以来自不同的表,是表的抽象和逻辑意义上建立的关系。
 
  2 视图是由基本表(实表)产生的表(虚表)。
 
  3 视图的建立和删除不影响基本表。
 
  4 对视图的内容更新(添加、删除、修改)直接影响基本表。
 
  5 当视图来自多个基本表时,不允许添加和删除。
 
  一:创建视图的语法形式
 
  create view view_name AS 查询语句
 
  和创建表一样Mssq视图,视图名不能和表名、也不能和其他视图重名。
 
  例:先创建t_product 表,创建出隐藏价格字段price的视图view_prodect。
 
  1 查询t_product表
 
 
  2 创建视图对象,具体创建语句如下:
 
  CREATE VIEW view_product AS SELECT id,name FROM t_product;
 
  3 查询:
 
  SELECT *FROM view_product;
 
 
  二:创建各种视图
 
  由于视图的功能实际上是封装查询语句,那么是不是任何形式的查询语句都可以封装在视图中呢?
 
  例:分别创建学生和组的表t_student和t_group,如下:
 
  
  1 封装实现查询常量语句的视图,(常量视图)
 
  CREATE VIEW view_test1 AS SELECT 3.1415926;
 
  SELECT *FROM view_test1;
 
  
  2 封装使用聚合函数(SUM MIN MAX COUNT)
 
  CREATE VIEW view_test2 AS SELECT COUNT(NAME) FROM t_student;
 
  
  3 封装实现排序功能
 
  CREATE VIEW view_test3 AS SELECT name from t_student ORDER BY id DESC;
 
  
  4 封装内连接查询语句
 
  CREATE VIEW view_test4 AS SELECT s.name,s.id,s.group_id FROM t_student as s, t_group as g WHERE s.group_id=g.id and g.id=2;
 
 
  三:查看视图
 
  语法形式:
 
  SHOW TABLES;
 
  
  四:删除视图
 
  语法形式:
 
  DROP VIEW view_name;

(编辑:均轻资讯网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!