一。为什么使用视图

1.重用SQL语句。

2.简化复杂的SQL操作。在编写查询后,可以方便地重用它而不必知道它的基本查询细节。

3.使用表的组成部分而不是整个表。

4.保护数据。可以给用户授予表的特定部分的访问权限而不是整个表的访问权限。

5.更改数据格式和表示。视图可返回与底层表的表示和格式不同的数据。

6.在视图创建之后,可以用与表基本相同的方式利用它们。可以对视图执行SELECT操作,过滤和排序数据,将视图联结到其他视图或表,甚至能添加和更新数据(添加和更新数据存在某些限制)。

7.重要的是知道视图仅仅是用来查看存储在别处的数据的一种设施。视图本身不包含数据,因此它们返回的数据是从其他表中检索出来的。在添加或更改这些表中的数据时,视图将返回改变过的数据。

二。视图的规则和限制

1.与表一样,视图必须唯一命名(不能给视图取与别的视图或表相同的名字)。

2.对于可以创建的视图数目没有限制。

3.为了创建视图,必须具有足够的访问权限。这些限制通常由数据库管理人员授予。

4.视图可以嵌套,即可以利用从其他视图中检索数据的查询来构造一个视图(但是会影响性能)。

5.ORDER BY可以用在视图中,但如果从该视图检索数据的SELECT语句中也含有ORDER BY,那么该视图中的ORDER BY将被覆盖。

6.视图不能索引,也不能有关联的触发器或默认值。

7.视图可以和表一起使用。例如,编写一条联结表和视图的SELECT语句。

三。创建,修改,删除视图

1.创建视图

create view 视图名(注意唯一) as 执行语句(包括查询,删除,修改,插入,但最好不要用除了查询以外的,因为有很多限制,而且视图主要是用来查询的)//上面语句的意思:把查询结果当做视图栗子:create view users as select * from user执行语句就创建了一个users视图了

2.查看创建视图的语句(即:这个视图是后面的查询语句是什么)

show create view 视图名

栗子:

查看先前创建的视图:

show create view users

结果:

这就是create view 列中的内容:

CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `users` AS select `user`.`id` AS `id`,`user`.`user_name` AS `user_name`,`user`.`password` AS `password`,`user`.`create_time` AS `create_time` from `user`

3.删除视图

drop view 视图名栗子:drop view users

4.更新视图

  • 方式一:

先删除原先的视图,然后再创建

drop view userscreate view users as select * from user
  • 方式二:

    直接更新视图,语句如下:

create or replace view users as 执行语句

四。使用视图

在上面我们已经知道如何创建视图,接下来将会看到如何使用视图。

1.简单使用

当查询的时候,完全可以把视图当做一个表来看待。当我们的查询语句非常复杂时,且多次使用,那会非常香。

栗子:

查询视图中所有数据select * from users查询视图中id=1的行select * from users where id = 1

注意:

1.视图并不是存在的表,使用的时候还是通过语句去查了表。

2.通过WHERE子句从视图中检索特定数据。在MySQL处理此查询时,它将指定的WHERE子句添加到视图查询中的已有WHERE子句中,以便正确过滤数据。(将会自动组合)。

3.创建的视图最好能重用,不然没啥意义。(我用一次为啥要创建视图呢?是不是这个理)

mysql 视图_mysql视图相关推荐

  1. linux创建mysql视图_MySQL视图基本操作

    1.准备工作 在MySQL数据库中创建两张表balance(余额表)和customer(客户表)并插入数据. create table customer( id int(10) primary key ...

  2. mysql常用的视图_MySQL视图

    MySQL视图的基本操作 视图是数据库中的虚拟表.包含一系列带有名称的行和列数据.视图是从一个或者多个表中导出的,视图的行为与表非常相似,用户可以使用SELECT语句查询数据,以及使用INSERT.U ...

  3. mysql视图_MySQL视图详解

    在讲解视图的时候我们的明白下面几个概念. 什么是视图? 视图(view)是一种虚拟存在的表,是一个逻辑表,本身并不包含数据.作为一个select语句保存在数据字典中的. 视图是干什么用的? 通过视图, ...

  4. mysql 数据库视图_MySQL视图介绍

    /* 视图 */ ------------------ 什么是视图: 视图是一个虚拟表,其内容由查询定义.同真实的表一样,视图包含一系列带有名称的列和行数据.但是,视图并不在数据库中以存储的数据值集形 ...

  5. mysql front 视图_mysql 视图

    mysql 视图 那随意了 • 2020 年 06 月 02 日 视图 简介 定义 视图是一个虚拟的表,其内容有查询定义.同真实的表一样,视图包含一些力带有名称的列和行数据.行和列的数据来自定义视图查 ...

  6. mysql建立视图_MySQL视图的应用之创建视图

    MySQL视图的应用之创建视图 视图也称虚表,包括执行某个查询返回的一组记录.视图可以简化获取数据的方法,并通过别名来实现抽象查询. 为了简化查询,在实际项目开发过程中,通常可以采用为数据库中的某个表 ...

  7. c mysql 视图_mysql 视图

    六.mysql 视图 6.1.什么是视图 ① 定义 视图是指计算机数据库中的视图,是一个虚拟表,其内容由查询定义.同真实的表一样,视图包含一系列带有名称的列和行数据.但是,视图并不在数据库中以存储的数 ...

  8. mysql修改视图_MySQL视图的应用之修改视图

    MySQL视图的应用之修改视图 为了提高工作效率,对不满足条件的视图可以通过修改的方式进行更改.实现本章中的实例,我们首先要创建数据表,然后在创建视图,先不要着急,我们下面会详细介绍!~ 那么在我们开 ...

  9. mysql触发器_MySQL视图\触发器\事务初步认识

    视图 什么是视图? 视图就是通过查询得到虚拟表,然后将虚拟表保存下来,下次可以直接使用 为什么用视图? 如果要频繁的操作一张虚拟表,你就可以将该虚拟表制作成视图,后续可以直接进行操作 如何用视图 固定 ...

最新文章

  1. SAP推出iPhone手机端企业智能管理应用
  2. for循环与while循环效率对比·5年以下编程经验必看C#】
  3. 标定板标定和九点标定的区别_标定系列一 | 机器人手眼标定的基础理论分析
  4. SCCM2007 R2的部署前准备,SCCM系列之一
  5. 微信公众号前端40163解决办法
  6. 华为设备MSDP配置命令
  7. 【建议收藏】六个免费的在线OCR识别网站,显著提高你的工作效率!
  8. ios8 关于定位的一些问题
  9. 云服务器项目乱码,云服务器Ubuntu系统下中文乱码问题解决方案
  10. 许可协议html,许可协议
  11. java实现简单的文件下载
  12. 最大信息熵增益_信息熵(Entropy)、信息增益(Information Gain)
  13. html缩小照片尺寸像素不变,怎么把图片变小 像素不变
  14. 使用微信小程序editor富文本编辑器(爬坑要点)
  15. 如何用mac远程控制windows10
  16. 你逛过凌晨4点的校园吗? -- 前端人的漫漫长路
  17. 手把手教学差异表达基因分析
  18. 直线模组常用的驱动模式有哪些?
  19. 物联网调查报告:机遇与挑战
  20. 《Evaluate the Malignancy of Pulmonary Nodules Using the 3D Deep Leaky Noisy-or Network》论文解析

热门文章

  1. android enum java包_Android @IntDef注解取代Java enum枚举提高性能详解
  2. 区块链BaaS云服务(28)TOP Network 之P2P 网络
  3. Python 打包 exe 程序避坑指南:没有安装包也能运行小程序啦~开心
  4. 09-CA/TA编程:storage demo
  5. php 单利模式实例化,php-单例模式实现mysql实例化对象
  6. 【网络安全】无需SOCKS支持,帮助广大渗透测试人员建立一条隐蔽的通信信道
  7. Mysql学习笔记之常用数据类型
  8. 5.用户APC执行过程
  9. 11、MySQL字符集和校对规则详解
  10. 笔趣看小说全部章节爬取实战