一、什么是视图?

视图就是存储下来的SQL SELECT语句,也可以说是虚拟的表(在MySQL中视图被当着表来用)。这些数据可以是从一个或几个基本表(或视图)的数据。也可以是用户自已定义的数据。其实视图里面不存放数据的,数据还是放在基本表里面,基本表里面的数据发生变动时,视图里面的数据随之变动。

视图的作用:

视图可以让查询变得很清楚:

如果您要找的数据存放在三张关系表里面,查看数据的时候,你就要写个联合查询了。换种方法,我把联合查询的数据放到视图里面,这样查询起来是不是更方便呢?

保护数据库的重要数据,给不同的人看不同的数据:

假如您让别人帮您开发一套系统,但是你又想把真正表的暴露出来,这个时候视图是不是最好的选择呢?

视图的类型:

mysql的视图有三种类型:MERGE、TEMPTABLE、UNDEFINED。如果没有ALGORITHM子句,默认算法是UNDEFINED(未定义的)。算法会影响MySQL处理视图的方式。

1,MERGE,会将引用视图的语句的文本与视图定义合并起来,使得视图定义的某一部分取代语句的对应部分。

2,TEMPTABLE,视图的结果将被置于临时表中,然后使用它执行语句。

3,UNDEFINED,MySQL将选择所要使用的算法。如果可能,它倾向于MERGE而不是TEMPTABLE,这是因为MERGE通常更有效,而且如果使用了临时表,视图是不可更新的。

二、创建、删除视图:

创建视图基本语法:

CREATE

VIEW view_name [(column_list)]

AS select_statement

[WITH [CASCADED | LOCAL] CHECK OPTION]

如下:

mysql> CREATE VIEW sc ASSELECT s.Name,c.Cname FROM students AS s RIGHT JOIN courses AS c ON s.CID1=c.CID;

Query OK, 0 rows affected (0.07 sec)

mysql> SHOW TABLES;

+------------------+

| Tables_in_jiaowu |

+------------------+

| courses |

| sc|

| scores |

| students |

| tutors |

+------------------+

5 rows in set (0.01 sec)

mysql> SELECT * FROM sc;

+--------------+------------------+

| Name | Cname |

+--------------+------------------+

| GuoJing | TaiJiquan |

| YangGuo | TaiJiquan |

| DingDian | Qishangquan |

| HuFei | Wanliduxing |

| HuangRong | Qianzhuwandushou|

| YueLingshang | Wanliduxing |

| ZhangWuji | Hamagong |

| Xuzhu | TaiJiquan |

| NULL | Yiyangzhi |

| NULL | Jinshejianfa |

| NULL | Qiankundanuoyi |

| NULL | Pixiejianfa |

| NULL | Jiuyinbaiguzhua |

+--------------+------------------+

13 rows in set (0.02 sec)

mysql 视图 教程_MySQL VIEW(视图)相关推荐

  1. mysql 视图 教程_MySQL视图简介及基本操作教程

    前言 视图是数据库系统中一种非常有用的数据库对象.MySQL 5.0 之后的版本添加了对视图的支持. 认识视图 视图是一个虚拟表,其内容由查询定义.同真实表一样,视图包含一系列带有名称的列和行数据,但 ...

  2. mysql 视图 局部变量_mysql创建视图和存储过程,变量

    创建视图 sql>create view 视图名 as select语句; 修改视图并添加别名 sql>create or replace view empvu10 (employee_n ...

  3. mysql修改视图定义_MySQL修改视图

    修改视图是指修改 MySQL 数据库中存在的视图,当基本表的某些字段发生变化时,可以通过修改视图来保持与基本表的一致性. 基本语法 可以使用 ALTER VIEW 语句来对已有的视图进行修改. 语法格 ...

  4. mysql 创建视图语法_MySQL创建视图的语法格式

    视图,具有简化查询语句.安全性和保证逻辑数据独立性等作用 创建视图的语法格式 视图中,包含SELECT查询的结果,因此,视图的创建基于SELECT语句,和已经存在的数据表,视图可以建立在一张表上,也可 ...

  5. mysql 全文检索 教程_MySQL:详细说明MySQL全文检索图文详细教程

    软件安装:装机软件必备包 本站电脑知识提供电脑入门知识,计算机基础知识,计算机网络应用基础知识,电脑配置知识,电脑故障排除和电脑常识大全,帮助您更好的学习电脑!不为别的,只因有共同的爱好,为中国互联网 ...

  6. mysql如何进行视图恢复_mysql事务 视图 索引 备份和恢复

    事务 1.事务: 概念:是作为单个逻辑工作单元执行的一系列操作 多个操作作为一个整体向系统提交,要么都执行,要么都不执行 事务是一个不可分割的工作逻辑单元 默认情况下 , 每条单独的SQL语句视为一个 ...

  7. mysql less6教程_MySQL 超级入门教程

    原标题:MySQL 超级入门教程 MySQL简介 1.什么是数据库 ? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二 ...

  8. mysql资源教程_MySQL 超级入门教程(内含资源福利)

    原标题:MySQL 超级入门教程(内含资源福利) MySQL简介 1.什么是数据库 ? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场 ...

  9. mysql grant教程_MySQL如何使用授权命令grant

    本文实例,运行于 MySQL 5.0 及以上版本. MySQL 赋予用户权限命令的简单格式可概括为: grant 权限 on 数据库对象 to 用户 一.grant 普通数据用户,查询.插入.更新.删 ...

最新文章

  1. python文档的数据读取,把读取数据写入到新的表里
  2. 【运筹学】线性规划数学模型 ( 三要素 | 一般形式 | 向量形式 | 矩阵形式 )
  3. Linux:网络基础配置
  4. “RPC好,还是RESTful好?”
  5. YOLO_ Real-Time Object Detection 实时目标检测
  6. ListBox实现拖拽排序功能
  7. 特定视图呈现时发生的事件顺序
  8. java随机姓名_Java生成随机姓名、性别和年龄的实现示例
  9. 模拟调频信号FM解调的matlab和C语言实现
  10. pytorch中的torch.rand(),torch.randn(),torch.randerm()的关系
  11. 物联网通信之Coap 协议
  12. 使用ViewPager + Fragment实现微信底部Tab效果
  13. 团体程序设计天梯赛-练习集-L1-046. 整除光棍
  14. 6、PXE安装ESXI6.0
  15. 新益华基层医疗系统使用方法_「热缩带」管道防腐新方向,聚乙烯热缩带安装使用方法...
  16. 求两个数的最小公倍数方法汇总
  17. 如何让你的YOLOV3模型更小更快?
  18. 百度地图 多轨迹 示例
  19. HAC集群添加新节点
  20. 碳中和大潮惊涛拍岸,科技企业如何迈入这条大江大河?

热门文章

  1. 轻松高效玩转DTO(Data Transfer Object)
  2. win10搜索计算机中所有excel,windows10系统下怎样使用excel进行高级筛选
  3. python3.5 mysql 库_Python 3.5 连接Mysql数据库(pymysql 方式)
  4. 做diff_Vue3.0时代你必须了解的:diff算法原理和优化
  5. android如何实现支付宝,(Android集成支付宝支付)react-native实现支付宝支付
  6. Meshlab和CloudCompare截图时去除“旋转圈”
  7. Win 10 安装detectron2 详细手册
  8. ubuntu websocket python2
  9. C++11 新特性之std::thread
  10. Python 计算各类距离