2022年MySQL最新面试题第6篇 - MySQL视图

举报
漫步coding 发表于 2022/04/14 00:03:12 2022/04/14
【摘要】 大家好,我是漫步coding, 最近在整理2022年MySQL最新面试题, 大家也可以通过我下面的博客地址在线阅读, 今天讲讲第6篇 - MySQL视图。本文首发于公众号: 漫步coding2022年MySQL最新面试题目录MySQL数据库基础知识MySQL索引MySQL存储引擎MySQL事务MySQL数据库读写锁MySQL视图MySQL触发器MySQL数据库优化MySQL部署和运维0、概要...

大家好,我是漫步coding, 最近在整理2022年MySQL最新面试题, 大家也可以通过我下面的博客地址在线阅读, 今天讲讲第6篇 - MySQL视图。本文首发于公众号: 漫步coding

图片

2022年MySQL最新面试题目录

0、概要

  • 1、为什么要使用视图?什么是视图? 

  • 2、视图有哪些特点? 

  • 3、视图的使用场景有哪些? 

  • 4、视图的优点  

  • 5、视图的缺点  

  • 6、存储过程与函数  

1、为什么要使用视图?

出现概率: ★★

使用视图可以简化复杂的SQL操作,方便重用

图片

2、视图有哪些特点?

出现概率: ★★★

a)、视图的列可以来自不同的表,是表的抽象和在逻辑意义上建立的新关系。 
b)、视图是由基本表(实表)产生的表(虚表)。 
c)、视图的建立和删除不影响基本表。 
d)、对视图内容的更新(添加,删除和修改)直接影响基本表。 
e)、当视图来自多个基本表时,不允许添加和删除数据。

3、视图的使用场景有哪些?

出现概率: ★★★

知道了视图的特点之后,我们就知道了可以使用视图 关联多个表的数据, 方便我们查询了,这个是在开发中还是有蛮多场景的, 比如: 采购单:有价格、数量、税率、含税金额,多半没有不含税金额、税额,而这些字段在很多报表中有都会用到,所以我们可以创建一个含有计算列字段的视图来解决这个问题。

4、视图的优点

出现概率: ★★★

  • 数据库视图允许简化复杂查询

  • 数据库视图有助于限制对特定用户的数据访问

5、视图的缺点

出现概率: ★★★

  • 性能:从数据库视图查询数据可能会很慢,特别是如果视图是基于其他视图创建的。

  • 表依赖关系:将根据数据库的基础表创建一个视图。每当更改与其相关联的表的结构时,都必须更改视图。

6、存储过程与函数

出现概率: ★★

本质上没区别,执行的本质都一样。函数有且只能返回一个变量, 存储过程可以返回多个  。

一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强。存储过程,功能强大,可以执行包括修改表等一系列数据库操作;用户定义函数不能用于执行一组修改全局数据库状态的操作。

对于存储过程来说可以返回参数,如记录集,而函数只能返回值或者表对象。函数只能返回一个变量;而存储过程可以返回多个。存储过程的参数可以有IN,OUT,INOUT三种类型,而函数只能有IN类型。存储过程声明时不需要返回类型,而函数声明时需要描述返回类型,且函数体中必须包含一个有效的RETURN语句。

存储过程一般是作为一个独立的部分来执行( EXECUTE 语句执行),而函数可以作为查询语句的一个部分来调用(SELECT调用),由于函数可以返回一个表对象,因此它可以在查询语句中位于FROM关键字的后面。SQL语句中不可用存储过程,而可以使用函数。

创建存储过程

create procedure sp_name()
begin
.........
end

调用存储过程

call sp_name()

也欢迎关注我的公众号: 漫步coding, 回复: mysql免费获取最新Mysql面试题汇总(含答案)。一起交流, 在coding的世界里漫步。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。