MySQL视图概述
1.介绍
在传统关系型数据库里,视图有时也被称作虚表,是基于特定SQL结果集的虚拟数据表。在有些场合会变得很方便,例如:原有系统重构,旧的数据表A和B已经被拆分和合并到数据表C、D、F里面,为了实现平滑迁移不影响对外数据业务,可以分别创建和原有数据表A和B一致的视图G和H,再实现数据层升级,不影响现有业务。
2.创建
创建MySQL视图语法如下
CREATE
[ALGORITHM=[UNDEFINED | MERGE | TEMPTABLE] ]
[DEFINER=用户名]
[SQL SECURITY [DEFINER | INVOKER] ]
VIEW `视图名`AS
查询SQL
[WITH [CASCADED | LOCAL] CHECK OPTION];
参数说明
ALGORITHM 视图采取何种算法,不同的算法性能可能有很大差异,UNDEFINED即由MySQL自行决定采用何种算法
DEFINER 指定创建该视图的用户
SQL SECURITY 关于权限的定义,可选DEFINER和INVOKER,如果设置为DEFINER则使用该视图时候,前面的DEFINER需要用户需要有相应权限,如果设置为INVOKER,则需要当前调用者有相应权限
WITH CHECK OPTION 设置视图的数据完整性检查,如果不设置则增删改该视图的数据不作任何检查,如果设置为CASCADED则增删改数据需要满足该视图以及所有与之相关的视图(视图嵌套)定义的条件(如视图查询SQL为WHERE id > 5则不允许增删改这个条件外的数据),如果设置为LOCAL则只检查当前视图(不考虑视图嵌套),其他限制跟CASEDED一致
3.使用
使用方法与普通的MySQL表一致,相关特性也受对应实表的存储引擎影响。
MySQL视图概述的更多相关文章
- 6 MySQL视图
目录: 1. 视图概述 1.1 为什么引入视图 1.2 什么是视图 1.3 视图的好处 1.4 视图的分类 2. 视图的建立和删除 3. 实验 1. 视图概述 1.1 为什么引入视图[1] 问题:假如 ...
- mysql视图总结
http://www.2cto.com/database/201508/427083.html 一. 视图概述 视图是一个虚拟表,其内容由查询定义.同真实的表一样,视图包含一系列带有名称的列和行数据. ...
- Mysql学习总结(9)——MySql视图原理讲解与使用大全
一. 视图概述 视图是一个虚拟表,其内容由查询定义.同真实的表一样,视图包含一系列带有名称的列和行数据.但是,视图并不在数据库中以存储的数据值集形式存在.行和列数据来自由定义视图的查询所引用的表,并且 ...
- [转]mysql 视图
转载自http://blog.csdn.net/evankaka/article/details/47071133 一. 视图概述 视图是一个虚拟表,其内容由查询定义.带来许多好处: 1. 视图能简化 ...
- Mysql 视图 游标 触发器 存储过程 事务
Mysql 视图 触发器 存储过程 游标 游标是从数据表中提取出来的数据,以临时表的形式存放在内存中,在游标中有一个数据指针,在初始状态下指向的是首记录,利用fetch语句可以移动该指针,从而对游标中 ...
- Mysql视图的作用及其性能分析
定义:视图是从一个或几个基本表导出的表,它与基本表不同,是一个虚表. 作用: 1.简化操作,不用进行多表查询. 2.当不同种类的用用户共享同一个数据库时,非常灵活,(用户以不同的 方式看待同一数据. ...
- 01 MySQL锁概述
锁是计算机协调多个进程或线程并发访问某一资源的机制.在数据库中,除传统的计算资源(如CPU.RAM.I/O 等)的争用以外,数据也是一种供许多用户共享的资源.如何保证数据并发访问的一致性.有效性是所有 ...
- MYSQL视图的学习笔记
MYSQL视图的学习笔记,学至Tarena金牌讲师,金色晨曦科技公司技术总监沙利穆 课程笔记的综合. 视图及图形化工具 1. 视图的定义 视图就是从一个或多个表中,导出来的表,是一个虚 ...
- 深入解析MySQL视图view
阅读目录---深入解析MySQL视图view 创建视图 查看视图 视图的更改 create or replace view alter DML drop 使用with check option约束 嵌 ...
随机推荐
- 深入理解MySQL中的Redo、Undo、MVCC
http://edu.csdn.net/course/detail/3495 http://edu.csdn.net/courses/o317_a3/云计算大数据
- A system tap script to detect UDP beacons
https://gist.github.com/jbradley89/178bbf3944786c494bd78f3df16a5472
- docker之人手一台服务器
安装docker uname –r 检查内核版本 yum update 升级本地yum包 vim /etc/yum.repos.d/docker.repo #添加yum仓库配置 [dockerrepo ...
- 为什么我不使用Kubernetes的Ingress
为什么我不使用Kubernetes的Ingress 很不幸,据我所知Kubernetes的文档不是很完美,这就是为什么有很多同学在使用它的时候会遇到很多的坑,Ingress这个组件就是这些坑中的一个. ...
- PSR规范,链接转载
https://www.kancloud.cn/thinkphp/php-fig-psr
- django 分页django-pure-pagination
虽然django自带了一个paginator,但不是很方便,我们使用django-pure-pagination github地址https://github.com/jamespacileo/dja ...
- linux下eclipse闪退和重装jdk的方法
安装eclipse: (1)把eclipse-java-helios-SR2-linux-gtk.tar.gz解压到某个目录中,我解压到的 是/usr/eclipse,得到eclipse目录 (2)在 ...
- nginx资源争夺问题
nginx资源争夺问题 多个配置之间存在资源争夺的情况,需要进行整理: 学习了:https://blog.csdn.net/veryisjava/article/details/72917894 ng ...
- HDU4911:Inversion
Problem Description bobo has a sequence a1,a2,-,an. He is allowed to swap two adjacent numbers for n ...
- jQuery的AJax异步载入片段
主要用到load()方法以及getScript()方法,详细以一个样例说明: 在现有html文件里载入一个拟好的片段,以及在片段载入完毕之前阻止用户进一步操作的弹出框. 首先是现有html代码.无不论 ...