MySQL视图详解
今天继续给大家介绍MySQL相关知识,本文主要内容是MySQL视图。
一、MySQL视图详解
MySQL引入了视图的概念,所谓视图,其实就是一张虚拟的数据表,该数据表与其他普通数据表一样,有列和属性。视图和普通的数据表唯一不同的是,视图中本身没有数据,视图中的数据都是从各个数据表中select查询的结果,对视图中数据的插入和修改本质上也是对原始数据表的插入和修改,因此,我们可以修改视图的数据,但是不能删除视图中的数据和向视图内插入数据。
正确的使用视图,可以使得我们在业务场景中更好的实现我们的需求,总得来看,视图有以下优点:
1、视图的创建,通常来源于SQL语句,对于很复杂的联表查询SQL语句,如果经常使用,那么写起来也很麻烦,在这种情况下,就可以直接创建视图,这样就把我们联表查询的语句转换成对视图内容的查询,简化了我们的操作。
2、视图可以提供一定的安全性,例如在开发过程中,一个数据表中存在了一些敏感数据和非敏感数据,那么对于不可信任的用户,就可以创建一个视图,该视图只包含非敏感数据,并且将不可信用户的操作引导视图上,这样即可以使得不可信用户能够满足正常的业务需求,同时还可以增强系统的安全性。
二、MySQL视图使用
MySQL视图的创建,完全是以select语句的执行为基础的,MySQL视图创建的MySQL命令格式如下:
create view 【视图名】 as 【select语句】;
创建视图SQL语句示例如下:
create view student_grade as select * from student s left join grade g on s.id=g.Sid;
视图在创建后,执行命令,show tables,可以查询到刚才我们创建的视图,它是作为一个表存在的,如下所示:
如果我们向视图内添加或者删除数据,会被MySQL所拒绝。更新视图数据会被允许,但是其本质是对视图对应的数据表的修改,如下所示:
最后,如果我们想删除上述视图,可以执行命令:
alter view student_grade;
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200
相关文章
- Mysql运行状态查询命令及调优详解
- Mybatis+mysql动态分页查询数据案例——房屋信息的接口(IHouseDao)
- 浅谈PHP连接MySQL数据库的三种方式
- 「mysql优化专题」详解引擎(InnoDB,MyISAM)的内存优化攻略?(9)
- mysql: instr 多个字段 like数据
- 详解MYSQL数据库密码的加密方式及破解方法
- Mysqlslap性能测试MySQL三种存储引擎
- mysql中limit的用法详解[数据分页常用]
- 【原创】MySQL Proxy - 内部结构
- MySQL数据库的数据类型以及取值范围详解
- 我敢打赌!这道关于MySQL中update加锁的问题,大部分人都答不出来
- MySQL优化详解(三)——MySQL慢查询与内参数优化
- MySQL explain执行计划详解
- linux -安装mysql,配置密码,开启远程访问
- 详解MySQL information_schema数据库常用的表信息以及各表对应的字段信息;以及如何登录mysql和创建视图
- Docker mysql主主互备和高可用
- mysql 清除relay-log文件方法详解
- Mysql的mysqldump详解 mysql数据库备份和导入
- 第54讲:MySQL视图中的条件检查选项详解
- MySQL集群原理详解
- MySQL(7)常用的基本查询命令详解
- Mysql实战篇之怎么给字符串加索引--03
- Mysql基础篇之索引下--05
- MySQL基础篇 | 存储引擎、事务、索引、视图、DBA命令、数据库设计三范式