iis服务器助手广告
返回顶部
首页 > 资讯 > 数据库 >mysql视图指的是什么
  • 712
分享到

mysql视图指的是什么

mysql 2023-05-25 13:05:51 712人浏览 八月长安
摘要

这篇文章主要介绍了Mysql视图指的是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇mysql视图指的是什么文章都会有所收获,下面我们一起来看看吧。

这篇文章主要介绍了Mysql视图指的是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇mysql视图指的是什么文章都会有所收获,下面我们一起来看看吧。

mysql视图是一个虚拟表,其内容由查询定义;视图包含系列带有名称的列和行数据,而行和列数据来自定义视图的查询所引用的表,并且在引用视图时动态生成,简单的来说视图是由select结果组成的表。

什么是视图

  • 视图是一个虚拟表,其内容由查询定义。

  • 同真实的表一样,视图包含系列带有名称的列和行数据。

  • 行和列数据来自定义视图的查询所引用的表,并且在引用视图时动态生成。

  • 简单的来说视图是由select结果组成的表。

举个栗子
使用查询表命令

SELECT * FROM 表名 ;

查出来可以看到一张表,你看到的内容就叫视图。

视图的特性

  • 视图是对若干张基本表的引用,是一张虚表,是查询语句执行的结果。

  • 它不存储具体的数据(基本表数据发生了改变,视图也会跟着改变) 。

  • 它可以跟基本表一样,进行增删改查操作(增删改操作有条件限制)。

视图的作用

  • 提高安全性:创建一个视图,定义好该视图所操作的数据。之后将用户权限与视图绑定。这样的方式是使用到了一个特性: grant语句可以针对视图进行授予权限。
    举个栗子:管理员查询到的数据中包含各个用户的密码,而管理员不想让用户看到密码,则可以用创建视图的方式只让用户看到管理员想让他看到的数据

  • 查询性能提高。

  • 提高了数据的独立性。

创建视图

假设我们有一张学生表如下
mysql视图指的是什么

需求:创建视图并查询年龄大于20的学生

CREATE VIEW stu_age_view 
AS(SELECT * FROM stu WHERE age>20);

点击视图打开可以看到刚刚创建的表

mysql视图指的是什么
表里内容为需求内容

mysql视图指的是什么
基于视图,我们就可以继续查询想要的内容,比如查询年龄再21岁以上名字叫ls的人,基于视图查可以提升效率,减少运行成本。

修改视图

CREATE OR REPLACE VIEW 视图名  AS(SELECT  [...]  FROM [...] );

举个栗子:上面创建的视图“stu_age_view”为年龄20以上的学生,现在修改为全部学生。

CREATE OR REPLACE VIEW stu_age_view 
AS(SELECT * FROM stu );

删除视图

DROP VIEW 视图名称;

视图机制

替换式

操作视图时, 视图名直接被视图定义给替换掉

具化式

mysq|先得到了视图执行的结果,该结果形成一个中间结果暂时存在内存中。
外面的select语句就调用了这些中间结果(临时表)

替换式与具化式区别

  • 替换式:替换方式,将视图公式替换后,当成一个整体sq|进行处理了。

  • 具化式:具体化方式,先处理视图结果,后处理外面的查询需求。

下面举个栗子来加深理解
在上面创建视图时我们已经创建了一个需求为年龄大于20的学生的视图
mysql视图指的是什么
那么接下来我们查看这个视图

SELECT * FROM stu_age_view ;

如果是替换式,那么它的内部运行逻辑就为

SELECT * FROM (SELECT *FROM stu WHERE age >20) tihuan;

直接将stu_age_view的代码替换出来;
如果是具化式,那么它就是先把符合条件的查询出来放在一张表(内存)里,然后直接查询这张表。

(SELECT * FROM stu WHERE age >20) AS TEMPTABLE;SELECT * FROM TEMPTABLE;

上面这两条语句无法运行,只是为了方便举例提出

那么我们再说回创建视图

ALGoRITHM参数(三个)

mergeTEMPTABLEUNDEFINED
处理方式替换式,可以进行更新真实表中的数据具化式,由于数据存储在临时表中,所以不可以进行更新操作没有定义ALGORITHM参数,mysq更倾向于选择替换方式,因为它更加有效。

用参数创建视图

CREATE ALGORITHM = MERGE VIEW stu_age_viewAS(SELECT * FROM stu WHERE age >20);

还有两个需要注意的东西是

  • WITH CHECK OPTioN

更新数据时不能插入或更新不符合视图限制条件的记录。
比如上面我们查询了一张年龄大于20的视图,那么在这张视图里面更新数据时如果年龄小于20则会报错。

  • LOCAL和CASCADED

为可选参数,决定了检查测试的范围,默认值为CASCADED

视图不可更新部分

  • 聚合函数

  • DISTINCT关键字

  • GROUP BY子句

  • HAVING子句

  • UNION运算符

  • FROM子句中包含多个表

  • SELECT语句中引用了不可更新视图

  • 只要视图当中的数据不是来自于基表,就不能够直接修改

关于“mysql视图指的是什么”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“mysql视图指的是什么”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网数据库频道。

您可能感兴趣的文档:

--结束END--

本文标题: mysql视图指的是什么

本文链接: https://www.lsjlt.com/news/218275.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mysql视图指的是什么
    这篇文章主要介绍了mysql视图指的是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇mysql视图指的是什么文章都会有所收获,下面我们一起来看看吧。 ...
    99+
    2023-05-25
    mysql
  • mysql中视图指的是什么
    这篇文章给大家分享的是有关mysql中视图指的是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 mysql的视图是mysql数据库中存放数据的一个...
    99+
    2024-04-02
  • mysql视图的优势是什么
    这篇文章主要讲解了“mysql视图的优势是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql视图的优势是什么”吧!说明简单性:使用视图的用户完全不必担心后面对应的表的结构、关联条件...
    99+
    2023-06-20
  • MySQL中视图的作用是什么
    这篇文章主要介绍了MySQL中视图的作用是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。本篇文章主要给大家介绍关于MySQL中视图的作用...
    99+
    2024-04-02
  • MySQL中view视图的作用是什么
    MySQL中的view视图是一个虚拟表,它包含了从一个或多个表中获取的数据的查询。它类似于实际的表,但没有自己的存储空间。view视...
    99+
    2023-09-07
    MySQL
  • MySQL创建视图的方法是什么
    要创建视图,可以使用以下语法: CREATE VIEW view_name AS SELECT column1, colum...
    99+
    2024-04-09
    MySQL
  • mysql更新视图的限制是什么
    这篇文章给大家分享的是有关mysql更新视图的限制是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。有些视图是不可更新的,因为这些视图的更新不能唯一有意义地转换为相应的基本表。一般来说,可以更新行列子集视图。除...
    99+
    2023-06-25
  • MySQL数据库视图的作用是什么
    这篇文章主要讲解了“MySQL数据库视图的作用是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL数据库视图的作用是什么”吧!1 视图的介绍与作用...
    99+
    2024-04-02
  • mysql视图有什么用
    mysql视图的作用让数据更加清晰,隐藏了数据的复杂性。有利于控制用户对表中某些列的访问。使用户查询变得简单。对数据库重构,却不影响程序的运行。提高了重用性,就像一个函数。提高了安全性能,可以对不同的用户,设定不同的视图。...
    99+
    2024-04-02
  • Oracle中的视图是什么
    在Oracle数据库中,视图是一种虚拟表,它是由一个或多个表的列组成的查询结果集。视图可以像表一样被查询,但实际上并不存储数据,而是...
    99+
    2024-04-09
    Oracle
  • SQLServer中的视图是什么
    在SQL Server中,视图是一种虚拟的表,它是基于一个或多个表的查询结果集。视图本身并不存储数据,它只是一个查询结果的可视化表示...
    99+
    2024-03-11
    SQLServer
  • mysql视图的作用是什么及怎么创建
    本篇内容介绍了“mysql视图的作用是什么及怎么创建”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!常见的数...
    99+
    2022-11-30
    mysql
  • MySQL视图是怎样的
    MySQL视图是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1.视图定义及简单介绍视图是基于 SQL 语句的结果集的可视化的表,即视图...
    99+
    2024-04-02
  • MySQL数据库创建视图的方法是什么
    在MySQL数据库中,可以使用以下语法来创建视图: CREATE VIEW view_name AS SELECT colu...
    99+
    2024-03-12
    MySQL
  • MySQL给视图修改名字的方法是什么
    在MySQL中,可以使用`RENAME VIEW`语句来修改视图的名字。具体语法如下:```sqlRENAME VIEW old_v...
    99+
    2023-10-11
    MySQL
  • mysql指的是什么
    这篇文章主要介绍了mysql指的是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。PHP MySQL 简介:通过 PHP,您可以连接和操作数据库。 MySQL 是跟 PHP...
    99+
    2023-06-15
  • 数据库视图是什么意思以及 MySQL 视图如何工作?
    数据库视图只不过是存储在数据库中并具有关联名称的 SQL 语句。视图实际上是预定义 SQL 查询形式的表的组合。视图可以包含表的所有行,也可以从表中选择行。 MySQL 视图可以从一个或多个表创建,这些表依赖于编写的 MySQL 查询来创建...
    99+
    2023-10-22
  • mysql视图创建和使用的方法是什么
    MySQL中创建和使用视图的方法如下: 创建视图: 使用CREATE VIEW语句来创建一个视图,语法如下: CREATE VI...
    99+
    2024-04-09
    mysql
  • mysql视图有什么作用
    本篇文章为大家展示了mysql视图有什么作用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。mysql视图有什么作用1.提高重用性,就像一个函数。如要频繁获取user...
    99+
    2024-04-02
  • 什么是v$SQL视图
    这期内容当中小编将会给大家带来有关什么是v$SQL视图,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。v$SQL视图 查询消耗磁盘I/O最多的SQL语句 sele...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作