一.什么是视图?

简单来说,视图就是从一张表中导出的虚拟表。视图拥有表的结构,但是在数据库中只有视图的定义,但是没有视图中的数据。

视图是由查询语句从一张表中导出来的数据,不是一张实际的表。

二.视图的作用

最大的用处就是将程序与表隔离开来,增加了安全性和简单性。

三.创建视图

创建视图是指在已有的表上创建视图,你可以在一张表上创建视图,你也可以在多张表上创建视图。

3.1查看创建视图的语法:

select Select_priv(表名用户是否有查询的权限),Create_view_priv(查看用户是否有建视图的权限) FROM   数据库.表名  WHERE  user="用户名"

例子:

select Select_priv ,Create_view_priv from mysql.user where user="root";

结果:

3.2创建视图步骤:

语法:create  view   视图名(视图中列属性)    as  select语句 ;(最简单化)

例子:首先我们来看看我们建立的表:

select * from text2;

结果:

创建语法:

create view v(vid,vnum1,vday) as select tid,tnum1,tday from text2;

查看:

SELECT * FROM study.v;

结果:一模一样

四.视图操作

4.1查看视图的结构:使用关键字  describe

例子:

describe v;

结果:

4.2修改视图

当视图基于表的数据改变时,那么我们就需要将修改视图来将视图和表的字段相同。

4.2.1使用关键字:create or replace view     使用这个语句当这个视图不存在时,他会自动创建一个表,如果他存在那么他将刷新一个表

语法:create  or  replace view 视图名【(属性清单)】  as  select语句

4.2.2使用关键字alter

语法:alter view 视图名 as select语句

五.更新视图

更新视图和更新表是一样的,同样也是使用update 语句

但是存在一点点的小小的限制在修改视图时。

以下几种情况不能更新视图

1.视图中含有聚合函数比如count( ),sum( ),max( ),min( )

2.视图中含有union,union all,distinct,group by having等聚合有关的关键字

3.常量视图

4.视图中包含子查询

六.删除视图

语法:drop view if exists 视图名

最新文章

  1. java 读取properties文件
  2. ElasticSearch之一——索引
  3. C语言sizeof
  4. PropertiesUtil 读取配置文件工具类
  5. asp.net mvc5 设置Area下的为启动页
  6. iptables 规则预设置为新centos系统
  7. 分布式搜索elasticsearch 文献检索索引 入门
  8. 【C语言】reverse_string(char * string)(递归)
  9. 转 如何不耍流氓的做运维之——SHELL脚本
  10. Android笔记:Fragment与ViewPager组合时,如何在FragmentActicity获取Fragment对象
  11. https单向认证和双向认证区别
  12. [学习OpenCV攻略][004][播放AVI视频]
  13. [ZOJ3435]Ideal Puzzle Bobble
  14. css固定div头部 滚动条滚动内容
  15. Intellij实用技巧
  16. Android四大组件应用系列——使用BroadcastReceiver和Service实现倒计时
  17. vue框架搭建
  18. Java API下载和查阅方法
  19. Day Nine
  20. 洛谷P3862 8月月赛B

热门文章

  1. SQL SERVER版本补丁体系及升级
  2. leetcode Most Common Word——就是在考察自己实现split
  3. kali-rolling安装nessus 7并创建扫描任务教程
  4. Python Number 类型转换
  5. Spring之缓存注解@Cacheable
  6. 转 Deep Learning for NLP 文章列举
  7. malloc用法整理
  8. Vue + Element UI 实现权限管理系统(更换皮肤主题)
  9. 改变Cube的Shader下的Alpha值,实现Cube若隐若现的效果。
  10. InterBase 数据库与驱动 版本不同