【MySQL学习】3、MySQL视图
文章目录
- 1、视图概念
- 2、视图的使用
- 微信公众号
1、视图概念
视图(View)是一种虚拟存在的表。视图并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的。通俗的讲,视图就是一条SELECT语句执行后返回的结果集。所以我们在创建视图的时候,主要的工作就落在创建这条SQL查询语句上
视图相对于普通的表的优势主要包括以下几项
- 简单:使用视图的用户完全不需要关心后面对应的表的结构、关联条件和筛选条件,对用户来说已经是过滤好的复合条件的结果集
- 安全:使用视图的用户只能访问他们被允许查询的结果集,对表的权限管理并不能限制到某个行某个列,但是通过视图就可以简单的实现
- 数据独立:一旦视图的结构确定了,可以屏蔽表结构变化对用户的影响,源表增加列对视图没有影响;源表修改列名,则可以通过修改视图来解决,不会造成对访问者的影响
2、视图的使用
创建视图的语法为
CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
VIEW view_name [(column_list)]
AS select_statement
[WITH [CASCADED | LOCAL] CHECK OPTION]
选项 : WITH [CASCADED | LOCAL] CHECK OPTION 决定了是否允许更新数据使记录不再满足视图的条件。LOCAL : 只要满足本视图的条件就可以更新。CASCADED : 必须满足所有针对该视图的所有视图的条件才可以更新。 默认值.
创建视图
create view view_city_country as select c.*, t.country_name from city c,country t where c.country_id = t.country_id;
查看视图数据
select * from view_city_country;
更新视图基础数据
update view_city_country set city_name = '西安市' where city_id = 1;
更新成功后再查询视图
实际上这里更新的视图的基础数据,也就是说,原表的数据也被更改了
修改视图的语法为
ALTER [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
VIEW view_name [(column_list)]
AS select_statement
[WITH [CASCADED | LOCAL] CHECK OPTION]
和创建视图的一模一样,只是create关键字变为了alter
alter view view_city_country as select c.*, t.country_name from city c,country t where c.country_id = t.country_id;
MySQL5.1开始后,可以使用show tables
查看所有表和视图名字
可以使用show create view view_name
查看视图的创建语句
删除视图语法
DROP VIEW [IF EXISTS] view_name [, view_name] ...[RESTRICT | CASCADE]
微信公众号
【MySQL学习】3、MySQL视图相关推荐
- MySQL学习(二)——MySQL多表
MySQL学习(二)--MySQL多表 分页操作:使用limit(参数1,参数2)起始位置(参数1)=(第几页-1)*每页显示的条数(参数2)1.分类表 create table category(c ...
- MySql 学习笔记-Mysql架构介绍与查询sql执行流程
最近花了99元大洋在极客时间 买了 MySQL 实战45讲.学习的同时留下点笔记.该内容仅仅是个人总结笔记,如有涉及版权还请告知. MySql 的简介 MySQL是一个关系型数据库管理系统,由瑞典My ...
- MySQL学习之MySQL引擎
MySQL 的几个重要特性 连通性 MySQL 是在假定的大部分应用都运行在TCP/IP协议的基础上而设计的. SQL 结构化查询语言 数据完整性 通过使用主键和外键约束,MySQL 支持引擎级的数据 ...
- mysql学习-初识mysql
一.数据库的作用和分类 1 数据库的作用 数据存储 2 数据库的优势 规范.查询速度快 3 数据库的分类 关系型数据库:oracle.mysql.mysql server 非关系型数据库:mongo ...
- mysql学习笔记---mysql的安装--rpm安装
安装mysql rpm安装(以mysql 5.7.29为例) 1,在mysql官方网站下载rpm包,将文件传输到linux里 [root@localhost ~]# ls anaconda-ks.cf ...
- Mysql学习笔记——mysql服务在win上安装与启动
1.先去下载服务包 https://dev.mysql.com/downloads/mysql/ 2.下载完成后,解压在D盘 3.添加一个配置文件,先创建文本,填写内容后改名:my.ini 内容为: ...
- mysql创建全外连接的视图_「MySql学习」Mysql学习系列之常用数据库查询语句
一.简单查询 简单的Transact-SQL查询只包括选择列表.FROM子句和WHERE子句.它们分别说明所查询列.查询的表或视图.以及搜索条件等.10.5pt;font-family:"A ...
- 【MySQL学习】使用视图、存储过程、游标和触发器
视图.储存过程.游标和触发器 视图 利用视图简化复杂的联结 用视图重新格式化检索出的数据 用视图过滤不想要的数据 使用视图与计算字段 更新视图 存储过程 为什么要使用存储过程 使用存储过程 执行存储过 ...
- php mysql 学习,php+mysql完全学习手册源码
[实例简介] <php+mysql完全学习手册>(黄桂金.于永军)源码 [实例截图] [核心代码] b82c182d-8fbd-4888-854f-5dc80db47e47 └── php ...
- MySQL学习(2)——MySQL表的增删查改(基础)
1.CRUD CRUD 即增加(Create).查询(Retrieve).更新(Update).删除(Delete) 四个单词的首字母缩写 2.新增(Cteate) 语法: INSERT [INTO] ...
最新文章
- Shippable和Packet合作提供原生ARM CI/CD
- es获取最大时间的记录_ES查询一段时间内某一循环时间段的数据
- Elasticsearch官档翻译——2 2 在Linux上启动服务
- Java Socket实现WebSocket服务器
- GitHub的AI程序员“抄袭”算法大神代码,连原版注释都抄上了
- int0低电平触发c语言,单片机中断的解释.ppt
- Ubuntu下svn 版本管理客户端工具及常用方法
- rudesocket如何使用_c++ socket 客户端库 socks5 客户端 RudeSocket™ Open Source C++ Socket Library...
- Python3连接MySQL
- 初学者的React全家桶完整实例
- Coinbase在苹果应用商店前100免费应用中排名第30位
- 双剑携手良师益友,学习机行业破局在望
- 中南大学计算机学院羽毛球赛,我校第四届“四海一家亲”羽毛球邀请赛成功举行...
- 混动汽车HEV混合驱动的MPC控制
- C语言 Mkl 矩阵乘法,MKL库矩阵乘法
- 软件测试项目实战,适合大家练习的实战项目有。
- feedburner怎么用_新手RSS订阅使用指南
- 展锐哪些芯片支持伽利略Galileo定位系统
- 【TS】泛型 Generics
- CN-DBpedia备忘
热门文章
- python爬虫---拉勾网与前程无忧网招聘数据获取(多线程,数据库,反爬虫应对)
- 《郭论—捡史》郭德纲/著 读后得
- 用html写简单的座位表,html座位表,随机点名
- 网络编程之(转载自:https://www.cnblogs.com/clschao/articles/9593164.html)
- 计算机老提示安全证书到期,安全证书过期,教您怎么解决网站安全证书过期
- 【python--爬虫】彼岸图网高清壁纸爬虫
- ROS之launch文件解析
- 有赞实时数仓建设实践与经验
- 【JAVA-UT】13、什么是依赖?
- ASP.NET项目部署到阿里云服务器(IIS)