一、了解视图

1.什么是视图

视图是一张虚拟表,封装了底层与数据表的接口,相当于一张表或多张表的数据结果集。是一种允许用户通过视图访问数据的安全机制。可以简化复杂的SQL查询,可直接使用视图而不需要考虑视图中包含的基础查询细节。

2.视图与临时表的区别

视图是虚拟表,而临时表是真实存在的表,具有临时性的特点,用完就会被完全删除。
临时表只是在当前连接存在,关闭连接后,临时表就会被自动释放。

3.视图的优点

1.安全:虚拟表是基于底层数据表的,在使用视图时一般不会轻易通过视图对底层数据进行修改,在一定程度上保证了数据表的数据安全性,同时可以根据不同的用户开放不同的数据查询权限
2.简单清晰:视图是对SQL查询的封装,可以对原本复杂的查询简化,编写好查询后可以直接复用而无需知道基本的查询细节。同时可以在视图上嵌套视图,结构清晰,类似结构化编程,提升代码复用率。

二、视图的操作

视图的操作包括:

  • 创建视图
  • 修改视图
  • 删除视图
  • 嵌套视图

1.创建视图语法:

CREATE VIEW view_name AS
SELECT column1, column2
FROM table
WHERE condition

例如:

CREATE VIEW player_above_avg_height AS
SELECT player_id,height
FROM player
WHERE height > (SELECT AVG(height) from player)

2.修改视图语法:

ALTER VIEW view_name AS
SELECT column1, column2
FROM table
WHERE condition

例如在原本的视图上再添加一个字段:

ALTER VIEW player_above_avg_height AS
SELECT player_id, player_name, height
FROM player
WHERE height > (SELECT AVG(height) from player)

3.删除视图语法:

DROP VIEW view_name

例如删除刚刚创建的视图player_above_avg_height:

DROP VIEW player_above_avg_height

4.嵌套视图:
在已有视图的基础上创建新的视图

CREATE VIEW player_above_above_avg_height AS
SELECT player_id, height
FROM player
WHERE height > (SELECT AVG(height) from player_above_avg_height)

SQL语言——视图(view)的作用相关推荐

  1. SQL语言---视图操作

    文章目录 前言 一.视图 1.什么是视图? 2.建立视图 3.删除视图 二.定义视图 1.建立视图 (1)语法格式 (2)举例讲解 例子1:建立房间视图 例子2:基于多表建立视图 例子3:基于视图建立 ...

  2. 高阶SQL语言VIEW(视图)

    高阶SQL语言VIEW(视图) 1.1 概念 可以被当作是虚拟表或存储查询 视图跟表格的不同是,表格中有实际储存资料,而视图是建立在表格之上的一个架构,它本身并不实际储存资料. 临时表在用户退出或同数 ...

  3. 数据库SQL语言从入门到精通--Part 4--SQL语言中的模式、基本表、视图

    数据库从入门到精通合集(超详细,学习数据库必看) 前言: 使用SQL语言时,要注意SQL语言对大小写并不敏感,一般使用大写.所有符号一定是西文标点符号(虽然是常识,但我还是提一嘴) 1.模式的定义与删 ...

  4. SQL Server 索引(index) 和 视图(view) 的简单介绍和操作

    2019独角兽企业重金招聘Python工程师标准>>> --索引(index)和视图(view)-- --索引(index)-- --概述: 数据库中的索引类似于书籍的目录,他以指针 ...

  5. 数据库SQL语言学习--上机练习4(视图)(持续更新中)

    数据库SQL语言学习--上机练习4(视图)(持续更新中) 上机练习4 一.实验目的 1. 熟悉和掌握对数据表中视图的查询操作和 SQL 命令的使用: 2. 熟悉和掌握对数据表中视图的更新操作和 SQL ...

  6. sql视图 权限_MySQL数据库的SQL语言与视图

    SQL语言 SQL是strcture query language 的缩写,是关系型数据库的标准语言结构化 查询 语言包括三个大的内容: A. DDL数据定义语言:create database ta ...

  7. SQL视图View的总结和使用

    实际工作当中,数据交互查询返回结果,SQL你是没办法找其他的完美替代的,但有的时候还是会遇到一些很头痛的问题需要视图view来解决,比如以下场景: view日常使用场景 场景一: 有的时候,多个表并表 ...

  8. 使用mvc时,在视图view中使用强类型视图,在web.config文件中添加命名空间namespace的引用不起作用,解决方法...

    这是view中的model代码: @model t_user_info 这是web.config配置文件只的代码: <namespaces><add namespace=" ...

  9. Java面试系列——数据库(01)数据库的作用、分类、SQL语言、运算符

    数据库作为组织.存储和管理数据的仓库,在后端开发中扮演着不可或缺的角色,前面已经讲了Java基础篇的一些面试题,现在开始数据库篇,主要以Mysql和Redis作为讲解的重点,这两种数据库也是关系型数据 ...

最新文章

  1. C语言函数集(十五)
  2. C#函数式程序设计之惰性列表工具——迭代器
  3. 语言相关系数显著性_ggplot2 绘制带星号和 Pvalue 值的相关系数热图
  4. T(n) = 25T(n/5)+n^2的时间复杂度 计算方法
  5. 面向初学者的JSF 2.0教程
  6. Python工作笔记006---在centos命令行里进入和退出Python程序
  7. Nacos整合SpringCloud的自动注册原理
  8. linux用户motd,linux需要装?那就和我一起来配置一个动态的MOTD登陆效果吧
  9. macOS下不支持双面打印功能的惠普打印机如何进行手动双面打印
  10. 飞腾新8核服务器芯片,国产飞腾桌面级CPU发布:最高2.6GHz 八核只要25W
  11. U盘量产之更改U盘容量大小
  12. 区块链相关数据报表_一种基于区块链的财务报表系统及其使用方法与流程
  13. java高内聚低耦合
  14. 盖亚假说:地球是一个生命体吗?
  15. NRF24L01的使用手册
  16. Wolfram Mathematica学习笔记2
  17. 计算机专业的英文介绍,计算机专业英文自我介绍
  18. loopback一些相关操作【loopback3.x升级为loopback4】
  19. 计算机分子模拟聚乙烯,玻纤增强聚乙烯界面行为的分子模拟研究
  20. Android开发和调试 .

热门文章

  1. php上传照片作品,你需要知道你的作品怎么拍才好看!一张火起来的照片是好的宣传...
  2. VsCode(Visual Studio Code) MAC快捷键操作
  3. ts中的implements
  4. 如何检测电脑硬件故障
  5. 蛋白质免疫印迹(Western Blot,WB )实验检测服务
  6. Linux下sysstat工具学习
  7. 时海君:apache第一讲-commons cli
  8. 英伟达速力NVIDIA SLI技术联姻Intel Sandy Bridge, 顶级游戏PC呼之欲出
  9. 鸿蒙开源全场景应用开发——视频渲染
  10. 授予权限(Granting Permissions)