一、视图

视图是从一个、多个表或者视图中导出的表,包含一系列带有名称的数据列和若干条数据行。

视图并不同于数据表,它们的区别在于以下几点:

1、视图不是数据库中真实的表,而是一张虚拟表,其结构和数据是建立在对数据中真实表的查询基础上的。

2、存储在数据库中的查询操作 SQL 语句定义了视图的内容,列数据和行数据来自于视图查询所引用的实际表,引用视图时动态生成这些数据。

3、视图没有实际的物理记录,不是以数据集的形式存储在数据库中的,它所对应的数据实际上是存储在视图所引用的真实表中的。

4、视图是数据的窗口,而表是内容。表是实际数据的存放单位,而视图只是以不同的显示方式展示数据,其数据来源还是实际表。

5、视图是查看数据表的一种方法,可以查询数据表中某些字段构成的数据,只是一些 SQL 语句的集合。从安全的角度来看,视图的数据安全性更高,使用视图的用户不接触数据表,不知道表结构。

6、视图的建立和删除只影响视图本身,不影响对应的基本表。

二、修改视图内容

视图是一个虚拟表,实际的数据来自于基本表,所以通过插入、修改和删除操作更新视图中的数据,实质上是在更新视图所引用的基本表的数据。

注意:对视图的修改就是对基本表的修改,因此在修改时,要满足基本表的数据定义。

某些视图是可更新的。也就是说,可以使用 UPDATE、DELETE 或 INSERT 等语句更新基本表的内容。对于可更新的视图,视图中的行和基本表的行之间必须具有一对一的关系。

还有一些特定的其他结构,这些结构会使得视图不可更新。更具体地讲,如果视图包含以下结构中的任何一种,它就是不可更新的:

聚合函数 SUM()、MIN()、MAX()、COUNT() 等。

DISTINCT 关键字。

GROUP BY 子句。

HAVING 子句。

UNION 或 UNION ALL 运算符。

位于选择列表中的子查询。

FROM 子句中的不可更新视图或包含多个表。

WHERE 子句中的子查询,引用 FROM 子句中的表。

ALGORITHM 选项为 TEMPTABLE(使用临时表总会使视图成为不可更新的)的时候。

mysql视图出问题如何解决_MySQL视图相关推荐

  1. mysql 视图会走索引吗_MySQL视图索引与存储过程精析-阿里云开发者社区

    1.MySQL分页查询 1.1 limit函数: SELECT * FROM emp LIMIT 3 –只查询三条数据,其他忽略 1.2 select * from emp order by empn ...

  2. mysql选错索引怎么解决_MySQL选错索引的原因以及解决方案

    MySQL 中,可以为某张表指定多个索引,但在语句具体执行时,选用哪个索引是由 MySQL 中执行器确定的.那么执行器选择索引的原则是什么,以及会不会出现选错索引的情况呢? 先看这样一个例子: 创建表 ...

  3. mysql查询出过去一个月_mysql查询过去一月半年一年的时间

    复制代码代码如下: create table if not exists t ( id int, addTime datetime default '0000-00-00 00:00:00′ ) 添加 ...

  4. mysql查询出过去一个月_Mysql查询今天、昨天、7天、近30天、本月、上一月 数据...

    今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天 SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ...

  5. mysql视图_MySQL视图详解

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

  6. c mysql 视图_mysql 视图

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

  7. mysql视图使用场景_MySQL视图适用场景

    问题描述: MySQL视图适用于哪些场景? 解决方法: 1.视图能简化用户操作.视图机制使用户可以将注意力集中在所关心的数据上.如果这些数据不是直接来自基本表,则可以通过定义视图,使数据库看起来结构简 ...

  8. mysql视图登录_mysql视图

    mysql视图机制 什么是视图 视图是一张虚拟的表,为什么是虚拟呢?因为视图与数据库中存在的表不太一样,前面我们创建的4张表都是包含数据的, 如用户信息,订单信息等,而视图则是不包含数据的,下面通过一 ...

  9. mysql 视图怎么调用方法_mysql 视图的使用

    mysql视图的作用(详细) 测试表:user有id,name,age,sex字段 测试表:goods有id,name,price字段 测试表:ug有id,userid,goodsid字段 视图的作用 ...

  10. mysql 视图 过程 函数_MySQL视图,函数,触发器,存储过程

    1. 视图 视图是一个虚拟表,它的本质是根据SQL语句获取动态的数据集,并为其命名,用户使用时只需使用[名称]即可获取结果集,可以将该结果集当做表来使用. 使用视图我们可以把查询过程中的临时表摘出来, ...

最新文章

  1. 词汇的理解 —— 汉译英(术语)
  2. linux中光标向上调一行命令,Linux vi 中移动光标 命令
  3. 1114. Family Property (25)
  4. CSDN 博客 美化 个性化
  5. zabbix详解(三)——zabbix源码安装与部署
  6. [硬件技术] 教你如何挑选主板:电脑主板质量好坏的鉴别方法
  7. 计算机病毒是通过内存传播吗,计算机病毒的工作过程
  8. eclipse 中使用字符流复制文件乱码解决
  9. 怎么在csdn中找到自己发布的帖子
  10. 解决Loadrunner打开网页证书错误问题
  11. 杨百翰大学计算机科学专业,杨百翰大学计算机科学硕士.pdf
  12. 这里,陌生人发的动态比朋友圈有趣多了!
  13. 树莓派安装Ubuntu20.04
  14. C语言散列法求英文字母字符串求余,c语言求余数
  15. 交换机/路由器基本配置
  16. Artemis流量控制(11)
  17. 遇到 ORACLE 错误 1455
  18. windows xp下如何安装SQL server2000企业版
  19. v-for里面再嵌套一个v-for的写法
  20. 云鸽笔记|技术复盘与总结

热门文章

  1. 8、Java中XML表示衣服尺码信息的文档编写
  2. 快捷方式图标小箭头刷新慢?百度网盘的锅---附“解除“百度网盘限速技巧(这次是百度网盘先动手的啊)
  3. [转]河北省生源地助学贷款流程及注意事项
  4. C# 如何生成CHM帮助文件
  5. elasticsearch之analysis
  6. 柏拉图与苏格拉底的对话----爱情;婚姻;外遇;生活
  7. 什么是MRAM(不挥发性磁性随机存储器)
  8. 纯策略纳什均衡与混合策略纳什均衡的比较
  9. 【青少年编程竞赛须知】青少儿学习编程能够参加哪些比赛?
  10. 【修真院PM小课堂】轮播图有几种表现形式,适合什么场景, 有哪些切换方式?