首页 > 数据库 >MySQL 视图

MySQL 视图

时间:2024-01-20 12:44:07浏览次数:26  
标签:CREATE CASCADED 查询 视图 MySQL select VIEW

视图(View)是一种虚拟存在的表,视图中的数据并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的。

通俗的讲,视图只保存了查询的SQL逻辑,不保存查询结果。所以我们在创建视图的时候,主要的工作就落在创建这条SQL查询语句上。

  • 创建

CREATE [OR REPLACE] VIEW 视图名称(列名列表)AS select ...;

  • 查询视图

查看创建视图语句:SHOW CREATE VIEW 视图名称;

查看视图数据:SELECT * FROM 视图名称.....;

  • 修改

方式一:CREATE [OR REPLACE] VIEW 视图名称 AS select ......

方式二:alter view 视图名称 AS select ......

  • 删除视图:

Drop view [if exists] 视图名称;

  • 视图的检查选项(cascaded):

CREATE [OR REPLACE] VIEW 视图名称(列名列表)AS select ... with [local\cascaded] check option;

当使用WITH CHECK OPTION子句创建视图时,Mysql会通过视图检查正在更改的每个行,例如插入、更新、删除,以使其符合视图的定义。MySQL允许基于另一个视图创建视图,它还会检查依赖视图中的规则以保持一致性。为了确定检查的范围,mysql提供了两个选项:CASCADED和LOCAL,默认值为CASCADED。

             CASCADED:

不加WITH CASCADED CHECK OPTION:mysql不会检查插入视图的数据是否满足视图的查询范围,不满足也能插入成功。

 

 

 LOCAL

 

 

  • 视图的更新

要使视图可更新,视图中的行与基础表中的行之间必须存在一对一的关系。如果视图中包含以下任何一项,则该视图不可更新:

1、聚合函数或窗口函数(SUM(),MIN(),MAX(),COUNT()等)

2、DISTINCT

3、GROUP BY

4、HAVING

5、UNION 或UNION ALL

  • 作用:

简单:视图不仅可以简化用户对数据的理解,也可以简化他们的操作。那些被经常使用的查询可以被定义为视图,从而使得用户不必为以后的操作每次指定全部的条件。

安全:数据库可以授权,但不能授权到数据库特定行和特定的列上。通过视图用户只能查询和修改他们所能见到的数据。

数据独立:视图可帮助用户屏蔽真实表结构变化带来的影响。

标签:CREATE,CASCADED,查询,视图,MySQL,select,VIEW
From: https://www.cnblogs.com/roujingchuxia/p/17976338

相关文章

  • MYSQL自增步长
    1、对于自增列,必须是索引(含主键)。2、对于自增可以设置步长和起始值基于会话级别:showsessionvariableslike'auto_inc%';查看全局变量setsessionauto_increment_increment=2;设置会话步长#setsessio......
  • MySQL中的加密函数
    本文简单介绍MySQL中的加密函数。MySQL提供了多种加密函数,以下是一些常用的:PASSWORD(str):用于密码加密,通常用于创建用户时对密码进行加密。MD5(str):生成一个128位的加密串,返回一个32位的16进制数。SHA1(str):生成一个160位的加密串,返回一个40位的16进制数。ENCODE(str......
  • MySQL连接池最大连接数设置
    默认连接数的选择应该基于你的应用程序的需求以及数据库服务器的性能和配置。 对于大多数小型和中型应用程序来说,10个连接可能是一个合理的起点。然而,如果你的应用程序具有较高的并发性或处理大量数据库操作,你可能需要增加连接数。否则,在高负载时,连接池中的连接可能会快速耗尽......
  • k8s之构建Mysql和Wordpress集群
    一、实验目的基于Kubernetes集群实现多负载的WordPress应用。将WordPress数据存储在后端Mysql,Mysql实现主从复制读写分离功能。1、准备Kubernetes集群环境root@k8s-master01:~#kubectlgetnodesNAMESTATUSROLESAGEVERSIONk8s-master01Re......
  • Linux离线安装MySQL
    在Linux上离线安装MySQL,可以按照以下步骤进行操作:下载MySQL安装包:去MySQL官网下载适合Linux系统的MySQL安装包,选择一个合适的版本和文件格式进行下载。根据gclib安装对应的版本和架构进行选择。将安装包复制到Linux系统中:将下载的MySQL安装包复制到Linux系统中的一个合适的目录,例......
  • pymysql模块
    支持python代码操作数据库MySQL#安装,不用考虑版本pip3installpymysql1 链接、执行sql、关闭(游标) importpymysqluser=input('用户名:').strip()pwd=input('密码:').strip()#链接conn=pymysql.connect(host='localhost',port=3306,user='ro......
  • Mysql Row size too large (> 8126)
    问题描述:Rowsizetoolarge(>8126).ChangingsomecolumnstoTEXTorBLOBorusingROW_FORMAT=DYNAMICorROW_FORMAT=COMPRESSEDmayhelp.Incurrentrowformat,BLOBprefixof768bytesisstoredinline.解决问题有几种潜在的解决方案可以解决这个问题。将表转......
  • mysql常用查询日期语句
    --最近30天 selectdate_add(curdate(),interval(cast(help_topic_idassignedinteger)-30)day)dayfrommysql.help_topicwherehelp_topic_id <=day(last_day(curdate()))orderbyhelp_topic_id--最近7天 selectdate_add(curdate(),interval(cast(help_to......
  • elasticsearch学习笔记2 - logstash jdbc 同步MYSQL到ES
    logstash是一个管道工具input输入output输出filter过滤条件咋们初级先了解到这些再说比较优秀的教程文档作为基础知识需要了解:https://blog.csdn.net/qq_19283249/article/details/130839158?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522170564710516800215......
  • 三视图
    三视图的投影规律是什么2024-01-0916:4450人阅读三视图的投影规律是主俯长对正、主左高平齐、俯左宽相等。主视图和俯视图的长要相等;主视图和左视图的高要相等;左视图和俯视图的宽要相等。一般必须将形体向几个方向投影,才能完整清晰地表达出形体的形状和结构。三视图的......